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 • 83.5 kB
JavaScript
"use strict";(self.webpackChunkp3x_redis_ui_material=self.webpackChunkp3x_redis_ui_material||[]).push([[1030],{69617(t,e,n){n.d(e,{m:()=>g});var i=n(63924),s=n(20619),o=n(14861),a=n(33825),r=n(30943),l=n(51218),c=n(65209);function p(t,e){if(1&t&&(l.j41(0,"mat-tree-node",3)(1,"button",4)(2,"mat-icon"),l.EFF(3,"chevron_right"),l.k0s()(),l.j41(4,"span",5)(5,"span",6)(6,"span",7),l.EFF(7),l.k0s(),l.j41(8,"span",8),l.EFF(9,":"),l.k0s()(),l.j41(10,"span"),l.EFF(11),l.k0s()()()),2&t){const t=e.$implicit,n=l.XpG();l.Y8G("matTreeNodePaddingIndent",20),l.R7$(7),l.JRh(t.key),l.R7$(3),l.HbH("p3xr-json-tree-value p3xr-json-tree-value-"+t.type),l.R7$(),l.JRh(n.formatDisplay(t))}}function u(t,e){if(1&t&&(l.j41(0,"span",11),l.EFF(1,"..."),l.k0s(),l.j41(2,"span",10),l.EFF(3),l.k0s(),l.j41(4,"span",12),l.EFF(5),l.k0s()),2&t){const t=l.XpG().$implicit;l.R7$(3),l.JRh("array"===t.type?"]":"}"),l.R7$(2),l.SpI("(",t.childCount,")")}}function d(t,e){if(1&t&&(l.j41(0,"mat-tree-node",3)(1,"button",9)(2,"mat-icon"),l.EFF(3),l.k0s()(),l.j41(4,"span",7),l.EFF(5),l.k0s(),l.j41(6,"span",8),l.EFF(7,": "),l.k0s(),l.j41(8,"span",10),l.EFF(9),l.k0s(),l.nVh(10,u,6,2),l.k0s()),2&t){const t=e.$implicit,n=l.XpG();l.Y8G("matTreeNodePaddingIndent",20),l.R7$(3),l.JRh(n.treeControl.isExpanded(t)?"expand_more":"chevron_right"),l.R7$(2),l.JRh(t.key),l.R7$(4),l.JRh("array"===t.type?"[":"{"),l.R7$(),l.vxM(n.treeControl.isExpanded(t)?-1:10)}}class g{data;label="";expanded=!0;depth=0;wrap=!0;transformer=(t,e)=>({key:t.key,value:t.value,type:t.type,level:e,expandable:"object"===t.type||"array"===t.type,childCount:t.childCount});treeControl=new o.XW((t=>t.level),(t=>t.expandable));treeFlattener=new s.yj(this.transformer,(t=>t.level),(t=>t.expandable),(t=>t.children));dataSource=new s.zw(this.treeControl,this.treeFlattener);hasChild=(t,e)=>e.expandable;ngOnChanges(t){this.buildTree()}buildTree(){if(void 0===this.data||null===this.data)return void(this.dataSource.data=[]);const t=this.jsonToNode(this.label||"root",this.data);if(this.dataSource.data=(t.children,[t]),"recursive"===this.expanded)this.treeControl.expandAll();else if(!0===this.expanded){const t=this.treeControl.dataNodes;for(const e of t)0===e.level&&e.expandable&&this.treeControl.expand(e)}}jsonToNode(t,e){if(null===e)return{key:t,value:null,type:"null"};if(Array.isArray(e)){const n=e.map(((t,e)=>this.jsonToNode(String(e),t)));return{key:t,value:e,type:"array",children:n,childCount:n.length}}if("object"==typeof e){const n=Object.keys(e).map((t=>this.jsonToNode(t,e[t])));return{key:t,value:e,type:"object",children:n,childCount:n.length}}return{key:t,value:e,type:typeof e}}formatDisplay(t){return"null"===t.type?"null":"string"===t.type?`"${t.value}"`:String(t.value)}static ɵfac=function(t){return new(t||g)};static ɵcmp=l.VBU({type:g,selectors:[["p3xr-json-tree"]],inputs:{data:"data",label:"label",expanded:"expanded",depth:"depth",wrap:"wrap"},features:[l.OA$],decls:3,vars:5,consts:[[1,"p3xr-json-mat-tree",3,"dataSource","treeControl"],["matTreeNodePadding","",3,"matTreeNodePaddingIndent",4,"matTreeNodeDef"],["matTreeNodePadding","",3,"matTreeNodePaddingIndent",4,"matTreeNodeDef","matTreeNodeDefWhen"],["matTreeNodePadding","",3,"matTreeNodePaddingIndent"],["mat-icon-button","","disabled","",1,"p3xr-json-tree-toggle","p3xr-json-tree-toggle-hidden"],[1,"p3xr-json-tree-leaf-content"],[1,"p3xr-json-tree-leaf-key"],[1,"p3xr-json-tree-key"],[1,"p3xr-json-tree-colon"],["mat-icon-button","","matTreeNodeToggle","",1,"p3xr-json-tree-toggle"],[1,"p3xr-json-tree-bracket"],[1,"p3xr-json-tree-ellipsis"],[1,"p3xr-json-tree-count"]],template:function(t,e){1&t&&(l.j41(0,"mat-tree",0),l.DNE(1,p,12,5,"mat-tree-node",1)(2,d,11,5,"mat-tree-node",2),l.k0s()),2&t&&(l.AVh("p3xr-json-tree-nowrap",!e.wrap),l.Y8G("dataSource",e.dataSource)("treeControl",e.treeControl),l.R7$(2),l.Y8G("matTreeNodeDefWhen",e.hasChild))},dependencies:[i.MD,s.jH,s.yI,s.yF,s.pO,s.lQ,s.d6,a.m_,a.An,r.Hl,c.iY],styles:["\n .p3xr-json-mat-tree {\n font-family: 'Roboto Mono', monospace;\n font-size: 13px;\n background: inherit !important;\n }\n .p3xr-json-mat-tree .mat-tree-node,\n .p3xr-json-mat-tree .mat-nested-tree-node {\n background: inherit !important;\n color: inherit !important;\n }\n .p3xr-json-mat-tree .mat-tree-node {\n min-height: 24px;\n height: auto;\n line-height: 1.6;\n }\n .p3xr-json-tree-toggle-hidden {\n visibility: hidden !important;\n }\n .p3xr-json-tree-toggle {\n width: 24px !important;\n height: 24px !important;\n padding: 0 !important;\n flex-shrink: 0;\n }\n .p3xr-json-tree-toggle .mat-icon {\n font-size: 18px;\n width: 18px;\n height: 18px;\n opacity: 0.6;\n }\n .p3xr-json-tree-leaf-content {\n flex: 1;\n min-width: 0;\n display: flex;\n align-items: flex-start;\n gap: 6px;\n }\n .p3xr-json-tree-leaf-key {\n flex-shrink: 0;\n white-space: nowrap;\n }\n .p3xr-json-tree-value {\n word-break: break-word;\n min-width: 0;\n }\n .p3xr-json-tree-key {\n font-weight: bold;\n color: var(--p3xr-json-key-color, #881391);\n }\n .p3xr-json-tree-colon { opacity: 0.6; }\n .p3xr-json-tree-bracket { opacity: 0.5; }\n .p3xr-json-tree-ellipsis { opacity: 0.4; margin: 0 2px; }\n .p3xr-json-tree-count { opacity: 0.4; font-size: 11px; margin-left: 4px; align-self: center; }\n :host { display: block; overflow: auto; }\n .p3xr-json-tree-value-string { color: var(--p3xr-json-value-string, #0b7500); }\n .p3xr-json-tree-value-number { color: var(--p3xr-json-value-number, #1a01cc); }\n .p3xr-json-tree-value-boolean { color: var(--p3xr-json-value-boolean, #c41a16); }\n .p3xr-json-tree-value-null { color: var(--p3xr-json-value-null, #808080); font-style: italic; }\n .p3xr-json-mat-tree .p3xr-json-tree-value { word-break: break-all; }\n .p3xr-json-mat-tree.p3xr-json-tree-nowrap .p3xr-json-tree-value { white-space: nowrap; word-break: normal; }\n .p3xr-json-mat-tree.p3xr-json-tree-nowrap .mat-tree-node { flex-wrap: nowrap; }\n "],encapsulation:2})}},45658(t,e,n){n.d(e,{p:()=>r});var i=n(24698),s=n(63924),o=n(71016),a=n(51218);class r{type="text";step;min;max;placeholder="";enterPressed=new i.bkB;value="";focused=!1;onChange=()=>{};onTouched=()=>{};onValueChange(t){this.value=t,this.onChange(t)}writeValue(t){this.value=t}registerOnChange(t){this.onChange=t}registerOnTouched(t){this.onTouched=t}onEnterPressed(t){t.preventDefault(),setTimeout((()=>this.enterPressed.emit()))}static ɵfac=function(t){return new(t||r)};static ɵcmp=a.VBU({type:r,selectors:[["p3xr-ng-input"]],inputs:{type:"type",step:"step",min:"min",max:"max",placeholder:"placeholder"},outputs:{enterPressed:"enterPressed"},features:[a.Jv_([{provide:o.kq,useExisting:(0,i.Rfq)((()=>r)),multi:!0}])],decls:1,vars:12,consts:[[1,"p3xr-input",3,"ngModelChange","focus","blur","keyup.enter","type","step","min","max","placeholder","ngModel"]],template:function(t,e){1&t&&(a.j41(0,"input",0),a.bIt("ngModelChange",(function(t){return e.onValueChange(t)}))("focus",(function(){return e.focused=!0}))("blur",(function(){return e.focused=!1,e.onTouched()}))("keyup.enter",(function(t){return e.onEnterPressed(t)})),a.k0s()),2&t&&(a.xc7("background","var(--p3xr-input-bg)")("color","var(--p3xr-input-color)")("border-color","var(--p3xr-input-border-color, var(--p3xr-border-color))"),a.Y8G("type",e.type)("step",e.step)("min",e.min)("max",e.max)("placeholder",e.placeholder)("ngModel",e.value))},dependencies:[s.MD,o.YN,o.me,o.BC,o.vS],styles:["[_nghost-%COMP%] {\n display: inline-block;\n vertical-align: top;\n }\n\n .p3xr-input[_ngcontent-%COMP%] {\n box-sizing: border-box;\n width: 100%;\n }\n\n .p3xr-input[_ngcontent-%COMP%] {\n padding: 3px;\n border-style: solid;\n border-width: 2px;\n margin: 1px;\n }\n\n\n.p3xr-input[_ngcontent-%COMP%]:focus {\n margin: 0px;\n border-width: 3px;\n outline: none;\n}"]})}},52838(t,e,n){n.d(e,{z:()=>r});var i=n(64961),s=n(24583),o=n(66593),a=n(24698);class r{dialog;cmd;constructor(t,e){this.dialog=t,this.cmd=e}async show(t){const{JsonEditorDialogComponent:e}=await n.e(4404).then(n.bind(n,62178));this.cmd.mainResizer$.next({drag:!1});const i=this.dialog.open(e,(0,s.createDialogPopupSettings)({data:{value:t.value,hideFormatSave:t.hideFormatSave},disableClose:!0,width:"75%",maxHeight:"90vh"}));return new Promise(((t,e)=>{i.afterClosed().subscribe((n=>{this.cmd.mainResizer$.next({drag:!0}),n?t(n):e()}))}))}static ɵfac=function(t){return new(t||r)(a.KVO(i.bZ),a.KVO(o.y))};static ɵprov=a.jDH({token:r,factory:r.ɵfac,providedIn:"root"})}},48734(t,e,n){n.d(e,{F:()=>a});var i=n(64961),s=n(24583),o=n(24698);class a{dialog;constructor(t){this.dialog=t}async show(t){const{JsonViewDialogComponent:e}=await Promise.all([n.e(619),n.e(8540)]).then(n.bind(n,66970)),i=this.dialog.open(e,(0,s.createDialogPopupSettings)({data:{value:t.value},width:"75%",maxHeight:"90vh"}));return new Promise((t=>{i.afterClosed().subscribe((()=>t()))}))}static ɵfac=function(t){return new(t||a)(o.KVO(i.bZ))};static ɵprov=o.jDH({token:a,factory:a.ɵfac,providedIn:"root"})}},40761(t,e,n){n.d(e,{W:()=>a});var i=n(64961),s=n(24583),o=n(24698);class a{dialog;constructor(t){this.dialog=t}async show(t){const{KeyNewOrSetDialogComponent:e}=await Promise.all([n.e(8215),n.e(4363),n.e(1569)]).then(n.bind(n,57749)),i=this.dialog.open(e,(0,s.createDialogPopupSettings)({data:t,disableClose:!0,width:"75%",maxHeight:"90vh"}));return new Promise(((t,e)=>{i.afterClosed().subscribe((n=>{n?t(n):e()}))}))}static ɵfac=function(t){return new(t||a)(o.KVO(i.bZ))};static ɵprov=o.jDH({token:a,factory:a.ɵfac,providedIn:"root"})}},3593(t,e,n){n.d(e,{DatabaseKeyComponent:()=>He});var i=n(24698),s=n(11228),o=n(73414),a=n(63924),r=n(30943),l=n(33825),c=n(46256),p=n(96510),u=n(90870),d=n(23232),g=n(26265),h=n(77385),m=n(66593),f=n(95477),y=n(64961),k=n(24583);class b{dialog;constructor(t){this.dialog=t}async show(t){const{TtlDialogComponent:e}=await n.e(728).then(n.bind(n,38162)),i=this.dialog.open(e,(0,k.createDialogPopupSettings)({data:{model:t.model}}));return new Promise(((t,e)=>{i.afterClosed().subscribe((n=>{n?t(n):e()}))}))}static ɵfac=function(t){return new(t||b)(i.KVO(y.bZ))};static ɵprov=i.jDH({token:b,factory:b.ɵfac,providedIn:"root"})}var x=n(71016),j=n(84363),V=n(73761),v=n(90918),F=n(80356),R=n(48734),w=n(52838),G=n(40761),X=n(51218),E=n(12027);class I{i18n;socket;common;jsonViewDialog;keyNewOrSetDialog;breakpointObserver;cmd;cdr;p3xrResponse;p3xrValue;p3xrValueBuffer;p3xrKey="";isGtSm=window.innerWidth>=960;unsubFns=[];constructor(t,e,n,i,s,o,a,r){this.i18n=t,this.socket=e,this.common=n,this.jsonViewDialog=i,this.keyNewOrSetDialog=s,this.breakpointObserver=o,this.cmd=a,this.cdr=r;const l=this.breakpointObserver.observe("(min-width: 960px)").subscribe((t=>{this.isGtSm=t.matches,this.cdr.markForCheck()}));this.unsubFns.push((()=>l.unsubscribe()))}destroyBase(){this.unsubFns.forEach((t=>t()))}get strings(){return this.i18n.strings()}get isReadonly(){return!0===E?.state?.connection?.readonly}get hasProOrEnterprise(){return!0===E?.state?.hasProOrEnterpriseJsonBinary}get maxValueDisplay(){return E?.settings?.maxValueDisplay??1024}get maxValueAsBuffer(){return E?.settings?.maxValueAsBuffer??1024}async copy(t){await E.clipboard({value:t}),this.common.toast(this.strings?.status?.dataCopied||"Copied")}downloadBuffer(t,e){const n=new Blob([t]),i=URL.createObjectURL(n),s=document.createElement("a");s.href=i,s.download=e||`${this.p3xrKey}.bin`,s.click(),URL.revokeObjectURL(i)}async showJson(t,e){try{await this.jsonViewDialog.show({value:t,$event:e})}catch{}}refreshKey(){this.cmd.refreshKey$.next()}gtag(t){try{"function"==typeof window.gtag&&window.gtag("config",E?.settings?.googleAnalytics,{page_path:t})}catch{}}truncateDisplay(t){if(null==t)return"";const e=String(t);return this.maxValueDisplay>0&&e.length>this.maxValueDisplay?e.substring(0,this.maxValueDisplay)+"...":e}isBufferValue(t){return"object"==typeof t&&null!==t&&void 0!==t.byteLength}prettyBytes(t){return E?.settings?.prettyBytes?.(t)??`${t} bytes`}static ɵfac=function(t){return new(t||I)(X.rXU(d.W),X.rXU(g.L),X.rXU(h.h),X.rXU(R.F),X.rXU(G.W),X.rXU(u.Q),X.rXU(m.y),X.rXU(s.gRc))};static ɵdir=X.FsC({type:I,inputs:{p3xrResponse:"p3xrResponse",p3xrValue:"p3xrValue",p3xrValueBuffer:"p3xrValueBuffer",p3xrKey:"p3xrKey"}})}var B=n(34503),$=n(3735),T=n(12027);const N=t=>({maxValueAsBuffer:t});function C(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",8),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.setBufferUpload())})),X.j41(1,"mat-icon"),X.EFF(2,"upload"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG(3);X.R7$(4),X.JRh((null==t.strings||null==t.strings.intention?null:t.strings.intention.setBuffer)||"Upload")}}function S(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",9),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.setBufferUpload())})),X.j41(1,"mat-icon"),X.EFF(2,"upload"),X.k0s()()}if(2&t){const t=X.XpG(3);X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.setBuffer)??"Upload")}}function M(t,e){if(1&t&&X.nVh(0,C,5,1,"button",6)(1,S,3,1,"button",7),2&t){const t=X.XpG(2);X.vxM(t.isGtSm?0:1)}}function J(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",10),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.downloadBufferFile())})),X.j41(1,"mat-icon"),X.EFF(2,"download"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG(3);X.R7$(4),X.JRh((null==t.strings||null==t.strings.intention?null:t.strings.intention.downloadBuffer)||"Download")}}function D(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",11),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.downloadBufferFile())})),X.j41(1,"mat-icon"),X.EFF(2,"download"),X.k0s()()}if(2&t){const t=X.XpG(3);X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.downloadBuffer)??"Download")}}function O(t,e){if(1&t&&X.nVh(0,J,5,1,"button",4)(1,D,3,1,"button",5),2&t){const t=X.XpG(2);X.vxM(t.isGtSm?0:1)}}function P(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",10),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG(2);return i.Njj(n.jsonViewer(e))})),X.j41(1,"mat-icon"),X.EFF(2,"table_chart"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG(2);X.R7$(4),X.JRh((null==t.strings||null==t.strings.intention?null:t.strings.intention.jsonViewShow)||"JSON")}}function U(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",11),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG(2);return i.Njj(n.jsonViewer(e))})),X.j41(1,"mat-icon"),X.EFF(2,"table_chart"),X.k0s()()}if(2&t){const t=X.XpG(2);X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.jsonViewShow)??"JSON")}}function K(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",10),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(2);return i.Njj(e.copyValue())})),X.j41(1,"mat-icon"),X.EFF(2,"content_copy"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG(2);X.R7$(4),X.JRh((null==t.strings||null==t.strings.intention?null:t.strings.intention.copy)||"Copy")}}function A(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",11),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(2);return i.Njj(e.copyValue())})),X.j41(1,"mat-icon"),X.EFF(2,"content_copy"),X.k0s()()}if(2&t){const t=X.XpG(2);X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.copy)??"Copy")}}function Y(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",8),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.formatJson())})),X.j41(1,"mat-icon"),X.EFF(2,"format_line_spacing"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG(3);X.R7$(4),X.JRh((null==t.strings||null==t.strings.intention?null:t.strings.intention.formatJson)||"Format")}}function _(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",9),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.formatJson())})),X.j41(1,"mat-icon"),X.EFF(2,"format_line_spacing"),X.k0s()()}if(2&t){const t=X.XpG(3);X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.formatJson)??"Format JSON")}}function H(t,e){if(1&t&&X.nVh(0,Y,5,1,"button",6)(1,_,3,1,"button",7),2&t){const t=X.XpG(2);X.vxM(t.isGtSm?0:1)}}function z(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",8),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.jsonEditor())})),X.j41(1,"mat-icon"),X.EFF(2,"description"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG(3);X.R7$(4),X.JRh((null==t.strings||null==t.strings.intention?null:t.strings.intention.jsonViewEditor)||"Editor")}}function L(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",9),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.jsonEditor())})),X.j41(1,"mat-icon"),X.EFF(2,"description"),X.k0s()()}if(2&t){const t=X.XpG(3);X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.jsonViewEditor)??"JSON Editor")}}function W(t,e){if(1&t&&X.nVh(0,z,5,1,"button",6)(1,L,3,1,"button",7),2&t){const t=X.XpG(2);X.vxM(t.isGtSm?0:1)}}function Z(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",8),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.edit())})),X.j41(1,"mat-icon"),X.EFF(2,"edit"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG(3);X.R7$(4),X.JRh((null==t.strings||null==t.strings.intention?null:t.strings.intention.edit)||"Edit")}}function q(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",9),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.edit())})),X.j41(1,"mat-icon"),X.EFF(2,"edit"),X.k0s()()}if(2&t){const t=X.XpG(3);X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.edit)??"Edit")}}function Q(t,e){if(1&t&&X.nVh(0,Z,5,1,"button",6)(1,q,3,1,"button",7),2&t){const t=X.XpG(2);X.vxM(t.isGtSm?0:1)}}function tt(t,e){if(1&t&&(X.j41(0,"div",0),X.nVh(1,M,2,1),X.nVh(2,O,2,1),X.nVh(3,P,5,1,"button",4)(4,U,3,1,"button",5),X.nVh(5,K,5,1,"button",4)(6,A,3,1,"button",5),X.nVh(7,H,2,1),X.nVh(8,W,2,1),X.nVh(9,Q,2,1),X.k0s()),2&t){const t=X.XpG();X.R7$(),X.vxM(!t.isReadonly&&t.hasProOrEnterprise?1:-1),X.R7$(),X.vxM(t.hasProOrEnterprise?2:-1),X.R7$(),X.vxM(t.isGtSm?3:4),X.R7$(2),X.vxM(t.isGtSm?5:6),X.R7$(2),X.vxM(t.isReadonly?-1:7),X.R7$(),X.vxM(t.hasProOrEnterprise?8:-1),X.R7$(),X.vxM(t.isReadonly?-1:9)}}function et(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-slide-toggle",15),X.mxI("ngModelChange",(function(e){i.eBV(t);const n=X.XpG(2);return X.DH7(n.validateJson,e)||(n.validateJson=e),i.Njj(e)})),X.EFF(1),X.k0s()}if(2&t){const t=X.XpG(2);X.R50("ngModel",t.validateJson),X.R7$(),X.SpI(" ",(null==t.strings||null==t.strings.label?null:t.strings.label.validateJson)||"Validate JSON"," ")}}function nt(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",16),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(2);return i.Njj(e.cancelEdit())})),X.j41(1,"mat-icon"),X.EFF(2,"cancel"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG(2);X.R7$(4),X.JRh((null==t.strings||null==t.strings.intention?null:t.strings.intention.cancel)||"Cancel")}}function it(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",17),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(2);return i.Njj(e.cancelEdit())})),X.j41(1,"mat-icon"),X.EFF(2,"cancel"),X.k0s()()}if(2&t){const t=X.XpG(2);X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.cancel)??"Cancel")}}function st(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",8),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.setBufferUpload())})),X.j41(1,"mat-icon"),X.EFF(2,"upload"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG(3);X.R7$(4),X.JRh((null==t.strings||null==t.strings.intention?null:t.strings.intention.setBuffer)||"Upload")}}function ot(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",9),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.setBufferUpload())})),X.j41(1,"mat-icon"),X.EFF(2,"upload"),X.k0s()()}if(2&t){const t=X.XpG(3);X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.setBuffer)??"Upload")}}function at(t,e){if(1&t&&X.nVh(0,st,5,1,"button",6)(1,ot,3,1,"button",7),2&t){const t=X.XpG(2);X.vxM(t.isGtSm?0:1)}}function rt(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",8),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.save())})),X.j41(1,"mat-icon"),X.EFF(2,"save"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG(3);X.R7$(4),X.JRh((null==t.strings||null==t.strings.intention?null:t.strings.intention.save)||"Save")}}function lt(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",9),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(3);return i.Njj(e.save())})),X.j41(1,"mat-icon"),X.EFF(2,"save"),X.k0s()()}if(2&t){const t=X.XpG(3);X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.save)??"Save")}}function ct(t,e){if(1&t&&X.nVh(0,rt,5,1,"button",6)(1,lt,3,1,"button",7),2&t){const t=X.XpG(2);X.vxM(t.isGtSm?0:1)}}function pt(t,e){if(1&t&&(X.j41(0,"div",0),X.nVh(1,et,2,2,"mat-slide-toggle",12),X.nVh(2,nt,5,1,"button",13)(3,it,3,1,"button",14),X.nVh(4,at,2,1),X.nVh(5,ct,2,1),X.k0s()),2&t){const t=X.XpG();X.R7$(),X.vxM(t.isReadonly?-1:1),X.R7$(),X.vxM(t.isGtSm?2:3),X.R7$(2),X.vxM(!t.isReadonly&&t.hasProOrEnterprise?4:-1),X.R7$(),X.vxM(t.isReadonly?-1:5)}}function ut(t,e){if(1&t&&(X.j41(0,"div",18),X.EFF(1),X.k0s()),2&t){const t=X.XpG(2);X.R7$(),X.Lme(" ",null==t.strings||null==t.strings.label||null==t.strings.label.isBuffer?null:t.strings.label.isBuffer(X.eq3(2,N,t.prettyBytes(t.maxValueAsBuffer)))," ",t.bufferDisplay()," ")}}function dt(t,e){if(1&t){const t=X.RV6();X.j41(0,"div",18),X.EFF(1),X.k0s(),X.j41(2,"textarea",20),X.mxI("ngModelChange",(function(e){i.eBV(t);const n=X.XpG(2);return X.DH7(n.p3xrValueBuffer,e)||(n.p3xrValueBuffer=e),i.Njj(e)})),X.k0s()}if(2&t){const t=X.XpG(2);X.R7$(),X.Lme(" ",null==t.strings||null==t.strings.label||null==t.strings.label.isBuffer?null:t.strings.label.isBuffer(X.eq3(3,N,t.prettyBytes(t.maxValueAsBuffer)))," ",t.bufferDisplay()," "),X.R7$(),X.R50("ngModel",t.p3xrValueBuffer)}}function gt(t,e){if(1&t){const t=X.RV6();X.j41(0,"textarea",20),X.mxI("ngModelChange",(function(e){i.eBV(t);const n=X.XpG(2);return X.DH7(n.p3xrValue,e)||(n.p3xrValue=e),i.Njj(e)})),X.k0s()}if(2&t){const t=X.XpG(2);X.R50("ngModel",t.p3xrValue)}}function ht(t,e){if(1&t&&(X.j41(0,"mat-form-field",2),X.nVh(1,ut,2,4,"div",18),X.nVh(2,dt,3,5)(3,gt,1,1,"textarea",19),X.k0s()),2&t){const t=X.XpG();X.R7$(),X.vxM(t.p3xrValue&&"[object ArrayBuffer]"===t.p3xrValue.toString()?1:-1),X.R7$(),X.vxM(t.buffer?2:3)}}function mt(t,e){if(1&t){const t=X.RV6();X.j41(0,"div",21),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return i.Njj(e.edit())})),X.j41(1,"span",22),X.EFF(2),X.k0s()()}if(2&t){const t=X.XpG();X.R7$(2),X.JRh(t.truncateDisplay(t.p3xrValue))}}class ft extends I{jsonEditorDialog;editable=!1;buffer=!1;validateJson=!1;originalValue;constructor(t,e,n,i,s,o,a,r,l){super(t,e,n,i,s,o,a,l),this.jsonEditorDialog=r}ngOnInit(){}edit(){const t=this.p3xrValue;"string"==typeof t&&t.length>=this.maxValueAsBuffer?(this.buffer=!0,this.originalValue=T?.clone?.(this.p3xrValueBuffer)??this.p3xrValueBuffer):(this.buffer=!1,this.originalValue=T?.clone?.(this.p3xrValue)??this.p3xrValue),this.editable=!0}cancelEdit(){this.buffer?this.p3xrValueBuffer=this.originalValue:this.p3xrValue=this.originalValue,this.editable=!1,this.buffer=!1}async save(){const t=this.buffer?this.p3xrValueBuffer:this.p3xrValue;try{this.validateJson&&JSON.parse(t),T.ui.overlay.show({message:this.strings?.intention?.save??"Saving..."}),await this.socket.request({action:"key-set",payload:{type:this.p3xrResponse?.type,key:this.p3xrKey,value:t}}),this.gtag("/key-set"),this.editable=!1,this.buffer=!1,this.refreshKey()}catch(t){this.common.generalHandleError(t)}finally{T.ui.overlay.hide()}}async setBufferUpload(){const t=document.createElement("input");t.type="file",t.onchange=async()=>{const e=t.files?.[0];if(!e)return;const n=new FileReader;n.onerror=t=>{this.common.generalHandleError(t)},n.onload=async t=>{const e=t.target.result;try{if(this.editable)return await this.common.confirm({message:this.i18n.strings().confirm?.uploadBuffer}),this.buffer?this.p3xrValueBuffer=e:this.p3xrValue=e,void this.common.toast(this.i18n.strings().confirm?.uploadBufferDone);await this.common.confirm({message:this.i18n.strings().confirm?.uploadBuffer}),T.ui.overlay.show(),await this.socket.request({action:"key-set",payload:{type:this.p3xrResponse?.type,value:e,key:this.p3xrKey}}),this.common.toast(this.i18n.strings().confirm?.uploadBufferDoneAndSave),this.gtag("/key-set"),this.refreshKey()}catch(t){this.common.generalHandleError(t)}finally{T.ui.overlay.hide()}},n.readAsArrayBuffer(e)},t.click()}async jsonViewer(t){await this.showJson(this.p3xrValue,t)}async jsonEditor(){try{const t=await this.jsonEditorDialog.show({value:this.p3xrValue});this.p3xrValue=t.obj,await this.save()}catch{}}async formatJson(){try{this.p3xrValue=JSON.stringify(JSON.parse(this.p3xrValue),null,T?.settings?.jsonFormat??2),await this.save()}catch{this.common.toast(this.strings?.label?.jsonViewNotParsable??"Not valid JSON")}}copyValue(){this.copy(this.p3xrValue)}downloadBufferFile(){this.downloadBuffer(this.p3xrValueBuffer)}bufferDisplay(){return void 0!==this.p3xrValueBuffer?.byteLength?"("+this.prettyBytes(this.p3xrValueBuffer.byteLength)+")":""}static ɵfac=function(t){return new(t||ft)(X.rXU(d.W),X.rXU(g.L),X.rXU(h.h),X.rXU(R.F),X.rXU(G.W),X.rXU(u.Q),X.rXU(m.y),X.rXU(w.z),X.rXU(s.gRc))};static ɵcmp=X.VBU({type:ft,selectors:[["p3xr-key-string"]],features:[X.Vt3],decls:5,vars:3,consts:[[1,"p3xr-key-type-actions"],[1,"p3xr-key-type-content"],["appearance","fill",1,"p3xr-key-type-editor"],[1,"p3xr-key-type-display",2,"cursor","pointer","max-width","100%","overflow","auto"],["mat-raised-button","","type","button",1,"btn-accent","p3xr-action-btn"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-accent",3,"matTooltip"],["mat-raised-button","","type","button",1,"btn-primary","p3xr-action-btn"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-primary",3,"matTooltip"],["mat-raised-button","","type","button",1,"btn-primary","p3xr-action-btn",3,"click"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-primary",3,"click","matTooltip"],["mat-raised-button","","type","button",1,"btn-accent","p3xr-action-btn",3,"click"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-accent",3,"click","matTooltip"],[1,"btn-accent",2,"margin-right","8px",3,"ngModel"],["mat-raised-button","","type","button",1,"btn-warn","p3xr-action-btn"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-warn",3,"matTooltip"],[1,"btn-accent",2,"margin-right","8px",3,"ngModelChange","ngModel"],["mat-raised-button","","type","button",1,"btn-warn","p3xr-action-btn",3,"click"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-warn",3,"click","matTooltip"],[1,"p3xr-key-type-buffer-info"],["matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","4",3,"ngModel"],["matInput","","cdkTextareaAutosize","","cdkAutosizeMinRows","4",3,"ngModelChange","ngModel"],[1,"p3xr-key-type-display",2,"cursor","pointer","max-width","100%","overflow","auto",3,"click"],[1,"p3xr-pre"]],template:function(t,e){1&t&&(X.nVh(0,tt,10,7,"div",0),X.nVh(1,pt,6,4,"div",0),X.j41(2,"div",1),X.nVh(3,ht,4,2,"mat-form-field",2)(4,mt,3,1,"div",3),X.k0s()),2&t&&(X.vxM(e.editable?-1:0),X.R7$(),X.vxM(e.editable?1:-1),X.R7$(2),X.vxM(e.editable?3:4))},dependencies:[a.MD,x.YN,x.me,x.BC,x.vS,r.Hl,r.$z,r.$0,l.m_,l.An,c.uc,B.oV,j.mV,j.sG,V.fS,V.fg,$.rl,F.xb,v.RG,F.EE],encapsulation:2})}var yt=n(12027);class kt{page=1;pages=1;zsetMode;constructor(t){this.zsetMode=t?.zsetMode??!1}figurePaging(t){const e=yt?.settings?.keyPageCount??50,n=this.zsetMode?Math.ceil(t/2):t;this.pages=Math.max(Math.ceil(n/e),1),this.page=1}get pageCount(){return yt?.settings?.keyPageCount??50}get startIndex(){return this.pageCount*(this.page-1)}get endIndex(){return this.startIndex+this.pageCount}pager(t){switch(t){case"first":this.page=1;break;case"prev":this.page>1&&this.page--;break;case"next":this.page<this.pages&&this.page++;break;case"last":this.page=this.pages}}pageChange(){this.page<1&&(this.page=1),this.page>this.pages&&(this.page=this.pages)}}var bt=n(45658);function xt(t,e){if(1&t){const t=X.RV6();X.j41(0,"div",0)(1,"button",1),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return e.paging.pager("first"),i.Njj(e.pageChanged.emit())})),X.j41(2,"span",2),X.EFF(3,"skip_previous"),X.k0s()(),X.j41(4,"button",1),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return e.paging.pager("prev"),i.Njj(e.pageChanged.emit())})),X.j41(5,"span",2),X.EFF(6,"keyboard_arrow_left"),X.k0s()(),X.j41(7,"p3xr-ng-input",3),X.bIt("ngModelChange",(function(e){i.eBV(t);const n=X.XpG();return i.Njj(n.onPageChange(e))})),X.k0s(),X.j41(8,"span",4),X.EFF(9),X.k0s(),X.j41(10,"button",1),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return e.paging.pager("next"),i.Njj(e.pageChanged.emit())})),X.j41(11,"span",2),X.EFF(12,"keyboard_arrow_right"),X.k0s()(),X.j41(13,"button",1),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return e.paging.pager("last"),i.Njj(e.pageChanged.emit())})),X.j41(14,"span",2),X.EFF(15,"skip_next"),X.k0s()()()}if(2&t){const t=X.XpG();X.R7$(),X.Y8G("matTooltip",(null==t.strings||null==t.strings.page||null==t.strings.page.treeControls||null==t.strings.page.treeControls.pager?null:t.strings.page.treeControls.pager.first)??"First"),X.R7$(3),X.Y8G("matTooltip",(null==t.strings||null==t.strings.page||null==t.strings.page.treeControls||null==t.strings.page.treeControls.pager?null:t.strings.page.treeControls.pager.prev)??"Previous"),X.R7$(3),X.Y8G("max",""+t.paging.pages)("ngModel",t.paging.page),X.R7$(2),X.SpI("/ ",t.paging.pages),X.R7$(),X.Y8G("matTooltip",(null==t.strings||null==t.strings.page||null==t.strings.page.treeControls||null==t.strings.page.treeControls.pager?null:t.strings.page.treeControls.pager.next)??"Next"),X.R7$(3),X.Y8G("matTooltip",(null==t.strings||null==t.strings.page||null==t.strings.page.treeControls||null==t.strings.page.treeControls.pager?null:t.strings.page.treeControls.pager.last)??"Last")}}class jt{i18n;paging;pageChanged=new i.bkB;constructor(t){this.i18n=t}get strings(){return this.i18n.strings()}onPageChange(t){this.paging.page=t,this.paging.pageChange(),this.pageChanged.emit()}static ɵfac=function(t){return new(t||jt)(X.rXU(d.W))};static ɵcmp=X.VBU({type:jt,selectors:[["p3xr-key-pager-inline"]],inputs:{paging:"paging"},outputs:{pageChanged:"pageChanged"},decls:1,vars:1,consts:[[1,"p3xr-key-pager-inline"],["type","button",1,"p3xr-key-pager-btn",3,"click","matTooltip"],[1,"material-icons"],["type","number","step","1","min","1",1,"p3xr-key-pager-input",3,"ngModelChange","max","ngModel"],[1,"p3xr-key-pager-text"]],template:function(t,e){1&t&&X.nVh(0,xt,16,7,"div",0),2&t&&X.vxM(e.paging.pages>1?0:-1)},dependencies:[a.MD,x.YN,x.BC,x.vS,c.uc,B.oV,bt.p],styles:[".p3xr-key-pager-inline[_ngcontent-%COMP%] {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 4px 0;\n }\n\n .p3xr-key-pager-btn[_ngcontent-%COMP%] {\n background: none;\n border: none;\n color: var(--p3xr-input-border-color, var(--p3xr-border-color));\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n height: 28px;\n width: 28px;\n margin: 0;\n padding: 0;\n }\n\n .p3xr-key-pager-btn[_ngcontent-%COMP%]:focus {\n outline: none;\n }\n\n .p3xr-key-pager-btn[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%] {\n font-size: 24px;\n }\n\n [_nghost-%COMP%] p3xr-ng-input.p3xr-key-pager-input {\n vertical-align: middle !important;\n width: 64px;\n margin: 0 4px;\n }\n\n .p3xr-key-pager-text[_ngcontent-%COMP%] {\n margin: 0 4px;\n color: var(--p3xr-input-color, inherit);\n }"]})}var Vt=n(65209);const vt=(t,e)=>e.key;function Ft(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",8),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG();return i.Njj(n.addHash(e))})),X.j41(1,"mat-icon"),X.EFF(2,"add"),X.k0s()()}}function Rt(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-icon",17),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG().$implicit,s=X.XpG();return i.Njj(s.deleteHashKey(n.key,e))})),X.EFF(1,"delete"),X.k0s()}}function wt(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-icon",18),X.bIt("click",(function(){i.eBV(t);const e=X.XpG().$implicit,n=X.XpG();return i.Njj(n.downloadItem(e.key))})),X.EFF(1,"download"),X.k0s()}}function Gt(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-icon",19),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG().$implicit,s=X.XpG();return i.Njj(s.editValue(n.key,n.value,e))})),X.EFF(1,"edit"),X.k0s()}}function Xt(t,e){if(1&t){const t=X.RV6();X.j41(0,"div",7)(1,"span",9),X.bIt("click",(function(e){const n=i.eBV(t).$implicit,s=X.XpG();return i.Njj(s.editValue(n.key,n.value,e))})),X.EFF(2),X.k0s(),X.j41(3,"span",10),X.bIt("click",(function(e){const n=i.eBV(t).$implicit,s=X.XpG();return i.Njj(s.editValue(n.key,n.value,e))})),X.EFF(4),X.k0s(),X.j41(5,"span",11),X.nVh(6,Rt,2,0,"mat-icon",12),X.j41(7,"mat-icon",13),X.bIt("click",(function(e){const n=i.eBV(t).$implicit,s=X.XpG();return i.Njj(s.showJsonItem(n.value,e))})),X.EFF(8,"table_chart"),X.k0s(),X.j41(9,"mat-icon",14),X.bIt("click",(function(){const e=i.eBV(t).$implicit,n=X.XpG();return i.Njj(n.copyItem(e.value))})),X.EFF(10,"content_copy"),X.k0s(),X.nVh(11,wt,2,0,"mat-icon",15),X.nVh(12,Gt,2,0,"mat-icon",16),X.k0s()()}if(2&t){const t=e.$implicit,n=X.XpG();X.R7$(2),X.JRh(t.key),X.R7$(2),X.JRh(t.value),X.R7$(2),X.vxM(n.isReadonly?-1:6),X.R7$(5),X.vxM(n.hasProOrEnterprise?11:-1),X.R7$(),X.vxM(n.isReadonly?-1:12)}}class Et extends I{paging=new kt;pagedItems=[];constructor(t,e,n,i,s,o,a,r){super(t,e,n,i,s,o,a,r)}ngOnInit(){this.updatePaging()}ngOnChanges(t){t.p3xrValue&&this.updatePaging()}updatePaging(){this.p3xrValue&&(this.paging.figurePaging(Object.keys(this.p3xrValue).length),this.updatePagedItems())}updatePagedItems(){if(!this.p3xrValue)return void(this.pagedItems=[]);const t=Object.keys(this.p3xrValue);this.pagedItems=t.slice(this.paging.startIndex,this.paging.endIndex).map((t=>({key:t,value:this.p3xrValue[t]})))}async addHash(t){try{await this.keyNewOrSetDialog.show({$event:t,type:"append",model:{type:"hash",key:this.p3xrKey}}),this.refreshKey()}catch(t){this.common.generalHandleError(t)}}async deleteHashKey(t,e){try{await this.common.confirm({message:this.i18n.strings().confirm?.deleteHashKey}),await this.socket.request({action:"key-hash-delete-field",payload:{key:this.p3xrKey,hashKey:t}}),this.common.toast(this.i18n.strings().status?.deletedHashKey),this.refreshKey()}catch(t){this.common.generalHandleError(t)}}async editValue(t,e,n){try{const i="string"==typeof e&&e.length>=this.maxValueAsBuffer?this.p3xrValueBuffer[t]:e;await this.keyNewOrSetDialog.show({$event:n,type:"edit",model:{type:"hash",key:this.p3xrKey,hashKey:t,value:i}}),this.refreshKey()}catch(t){this.common.generalHandleError(t)}}copyItem(t){this.copy(t)}showJsonItem(t,e){this.showJson(t,e)}downloadItem(t){this.downloadBuffer(this.p3xrValueBuffer[t],`${this.p3xrKey}-${t}.bin`)}static ɵfac=function(t){return new(t||Et)(X.rXU(d.W),X.rXU(g.L),X.rXU(h.h),X.rXU(R.F),X.rXU(G.W),X.rXU(u.Q),X.rXU(m.y),X.rXU(s.gRc))};static ɵcmp=X.VBU({type:Et,selectors:[["p3xr-key-hash"]],features:[X.Vt3,X.OA$],decls:11,vars:4,consts:[[3,"pageChanged","paging"],[1,"p3xr-key-type-table"],[1,"p3xr-key-type-header"],[2,"flex","20%"],[2,"flex","60%"],[2,"flex","20%","text-align","right"],["mat-icon-button","","matTooltip","Add"],[1,"p3xr-key-type-row"],["mat-icon-button","","matTooltip","Add",3,"click"],[1,"p3xr-key-col",2,"flex","20%","cursor","pointer",3,"click"],[1,"p3xr-value-col","p3xr-pre",2,"flex","60%","cursor","pointer",3,"click"],[1,"p3xr-key-type-row-actions",2,"flex","20%","text-align","right"],["matTooltip","Delete",1,"icon-warn"],["matTooltip","JSON",1,"icon-accent",3,"click"],["matTooltip","Copy",1,"icon-accent",3,"click"],["matTooltip","Download",1,"icon-accent"],["matTooltip","Edit",1,"icon-primary"],["matTooltip","Delete",1,"icon-warn",3,"click"],["matTooltip","Download",1,"icon-accent",3,"click"],["matTooltip","Edit",1,"icon-primary",3,"click"]],template:function(t,e){1&t&&(X.j41(0,"p3xr-key-pager-inline",0),X.bIt("pageChanged",(function(){return e.updatePagedItems()})),X.k0s(),X.j41(1,"div",1)(2,"div",2)(3,"span",3),X.EFF(4),X.k0s(),X.j41(5,"span",4),X.EFF(6),X.k0s(),X.j41(7,"span",5),X.nVh(8,Ft,3,0,"button",6),X.k0s()(),X.Z7z(9,Xt,13,5,"div",7,vt),X.k0s()),2&t&&(X.Y8G("paging",e.paging),X.R7$(4),X.JRh((null==e.strings||null==e.strings.page||null==e.strings.page.key||null==e.strings.page.key.label?null:e.strings.page.key.label.hashkey)||"Hash Key"),X.R7$(2),X.JRh((null==e.strings||null==e.strings.page||null==e.strings.page.key||null==e.strings.page.key.label?null:e.strings.page.key.label.value)||"Value"),X.R7$(2),X.vxM(e.isReadonly?-1:8),X.R7$(),X.Dyx(e.pagedItems))},dependencies:[a.MD,x.YN,r.Hl,Vt.iY,l.m_,l.An,c.uc,B.oV,jt],encapsulation:2})}const It=(t,e)=>e.index;function Bt(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",8),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG();return i.Njj(n.appendValue(e))})),X.j41(1,"mat-icon"),X.EFF(2,"add"),X.k0s()()}}function $t(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-icon",17),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG().$implicit,s=X.XpG();return i.Njj(s.deleteListElement(n.index,e))})),X.EFF(1,"delete"),X.k0s()}}function Tt(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-icon",18),X.bIt("click",(function(){i.eBV(t);const e=X.XpG().$implicit,n=X.XpG();return i.Njj(n.downloadItem(e.index))})),X.EFF(1,"download"),X.k0s()}}function Nt(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-icon",19),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG().$implicit,s=X.XpG();return i.Njj(s.editValue(n.index,n.value,e))})),X.EFF(1,"edit"),X.k0s()}}function Ct(t,e){if(1&t){const t=X.RV6();X.j41(0,"div",7)(1,"span",9),X.bIt("click",(function(e){const n=i.eBV(t).$implicit,s=X.XpG();return i.Njj(s.editValue(n.index,n.value,e))})),X.EFF(2),X.k0s(),X.j41(3,"span",10),X.bIt("click",(function(e){const n=i.eBV(t).$implicit,s=X.XpG();return i.Njj(s.editValue(n.index,n.value,e))})),X.EFF(4),X.k0s(),X.j41(5,"span",11),X.nVh(6,$t,2,0,"mat-icon",12),X.j41(7,"mat-icon",13),X.bIt("click",(function(e){const n=i.eBV(t).$implicit,s=X.XpG();return i.Njj(s.showJsonItem(n.value,e))})),X.EFF(8,"table_chart"),X.k0s(),X.j41(9,"mat-icon",14),X.bIt("click",(function(){const e=i.eBV(t).$implicit,n=X.XpG();return i.Njj(n.copyItem(e.value))})),X.EFF(10,"content_copy"),X.k0s(),X.nVh(11,Tt,2,0,"mat-icon",15),X.nVh(12,Nt,2,0,"mat-icon",16),X.k0s()()}if(2&t){const t=e.$implicit,n=X.XpG();X.R7$(2),X.JRh(t.index),X.R7$(2),X.JRh(t.value),X.R7$(2),X.vxM(n.isReadonly?-1:6),X.R7$(5),X.vxM(n.hasProOrEnterprise?11:-1),X.R7$(),X.vxM(n.isReadonly?-1:12)}}class St extends I{paging=new kt;pagedItems=[];constructor(t,e,n,i,s,o,a,r){super(t,e,n,i,s,o,a,r)}ngOnInit(){this.updatePaging()}ngOnChanges(t){t.p3xrValue&&this.updatePaging()}updatePaging(){this.p3xrValue&&(this.paging.figurePaging(this.p3xrValue.length),this.updatePagedItems())}updatePagedItems(){this.p3xrValue?this.pagedItems=this.p3xrValue.slice(this.paging.startIndex,this.paging.endIndex).map(((t,e)=>({index:this.paging.startIndex+e,value:t}))):this.pagedItems=[]}async appendValue(t){try{await this.keyNewOrSetDialog.show({$event:t,type:"append",model:{type:"list",key:this.p3xrKey}}),this.refreshKey()}catch(t){this.common.generalHandleError(t)}}async deleteListElement(t,e){try{await this.common.confirm({message:this.i18n.strings().confirm?.deleteListElement}),await this.socket.request({action:"key-list-delete-index",payload:{key:this.p3xrKey,index:t}}),this.common.toast(this.i18n.strings().status?.deletedListElement),this.refreshKey()}catch(t){this.common.generalHandleError(t)}}async editValue(t,e,n){try{const i="string"==typeof e&&e.length>=this.maxValueAsBuffer?this.p3xrValueBuffer[t]:e;await this.keyNewOrSetDialog.show({$event:n,type:"edit",model:{type:"list",key:this.p3xrKey,index:t,value:i}}),this.refreshKey()}catch(t){this.common.generalHandleError(t)}}copyItem(t){this.copy(t)}showJsonItem(t,e){this.showJson(t,e)}downloadItem(t){this.downloadBuffer(this.p3xrValueBuffer[t])}static ɵfac=function(t){return new(t||St)(X.rXU(d.W),X.rXU(g.L),X.rXU(h.h),X.rXU(R.F),X.rXU(G.W),X.rXU(u.Q),X.rXU(m.y),X.rXU(s.gRc))};static ɵcmp=X.VBU({type:St,selectors:[["p3xr-key-list"]],features:[X.Vt3,X.OA$],decls:11,vars:4,consts:[[3,"pageChanged","paging"],[1,"p3xr-key-type-table"],[1,"p3xr-key-type-header"],[2,"flex","20%"],[2,"flex","60%"],[2,"flex","20%","text-align","right"],["mat-icon-button","","matTooltip","Add"],[1,"p3xr-key-type-row"],["mat-icon-button","","matTooltip","Add",3,"click"],[1,"p3xr-key-col",2,"flex","20%","cursor","pointer",3,"click"],[1,"p3xr-value-col","p3xr-pre",2,"flex","60%","cursor","pointer",3,"click"],[1,"p3xr-key-type-row-actions",2,"flex","20%","text-align","right"],["matTooltip","Delete",1,"icon-warn"],["matTooltip","JSON",1,"icon-accent",3,"click"],["matTooltip","Copy",1,"icon-accent",3,"click"],["matTooltip","Download",1,"icon-accent"],["matTooltip","Edit",1,"icon-primary"],["matTooltip","Delete",1,"icon-warn",3,"click"],["matTooltip","Download",1,"icon-accent",3,"click"],["matTooltip","Edit",1,"icon-primary",3,"click"]],template:function(t,e){1&t&&(X.j41(0,"p3xr-key-pager-inline",0),X.bIt("pageChanged",(function(){return e.updatePagedItems()})),X.k0s(),X.j41(1,"div",1)(2,"div",2)(3,"span",3),X.EFF(4),X.k0s(),X.j41(5,"span",4),X.EFF(6),X.k0s(),X.j41(7,"span",5),X.nVh(8,Bt,3,0,"button",6),X.k0s()(),X.Z7z(9,Ct,13,5,"div",7,It),X.k0s()),2&t&&(X.Y8G("paging",e.paging),X.R7$(4),X.JRh((null==e.strings||null==e.strings.page||null==e.strings.page.key||null==e.strings.page.key.label?null:e.strings.page.key.label.index)||"Index"),X.R7$(2),X.JRh((null==e.strings||null==e.strings.page||null==e.strings.page.key||null==e.strings.page.key.label?null:e.strings.page.key.label.value)||"Value"),X.R7$(2),X.vxM(e.isReadonly?-1:8),X.R7$(),X.Dyx(e.pagedItems))},dependencies:[a.MD,x.YN,r.Hl,Vt.iY,l.m_,l.An,c.uc,B.oV,jt],encapsulation:2})}const Mt=(t,e)=>e.index;function Jt(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",7),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG();return i.Njj(n.addSet(e))})),X.j41(1,"mat-icon"),X.EFF(2,"add"),X.k0s()()}}function Dt(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-icon",15),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG().$implicit,s=X.XpG();return i.Njj(s.deleteSetMember(n.index,e))})),X.EFF(1,"delete"),X.k0s()}}function Ot(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-icon",16),X.bIt("click",(function(){i.eBV(t);const e=X.XpG().$implicit,n=X.XpG();return i.Njj(n.downloadItem(e.index))})),X.EFF(1,"download"),X.k0s()}}function Pt(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-icon",17),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG().$implicit,s=X.XpG();return i.Njj(s.editValue(n.index,n.value,e))})),X.EFF(1,"edit"),X.k0s()}}function Ut(t,e){if(1&t){const t=X.RV6();X.j41(0,"div",6)(1,"span",8),X.bIt("click",(function(e){const n=i.eBV(t).$implicit,s=X.XpG();return i.Njj(s.editValue(n.index,n.value,e))})),X.EFF(2),X.k0s(),X.j41(3,"span",9),X.nVh(4,Dt,2,0,"mat-icon",10),X.j41(5,"mat-icon",11),X.bIt("click",(function(e){const n=i.eBV(t).$implicit,s=X.XpG();return i.Njj(s.showJsonItem(n.value,e))})),X.EFF(6,"table_chart"),X.k0s(),X.j41(7,"mat-icon",12),X.bIt("click",(function(){const e=i.eBV(t).$implicit,n=X.XpG();return i.Njj(n.copyItem(e.value))})),X.EFF(8,"content_copy"),X.k0s(),X.nVh(9,Ot,2,0,"mat-icon",13),X.nVh(10,Pt,2,0,"mat-icon",14),X.k0s()()}if(2&t){const t=e.$implicit,n=X.XpG();X.R7$(2),X.JRh(t.value),X.R7$(2),X.vxM(n.isReadonly?-1:4),X.R7$(5),X.vxM(n.hasProOrEnterprise?9:-1),X.R7$(),X.vxM(n.isReadonly?-1:10)}}class Kt extends I{paging=new kt;pagedItems=[];constructor(t,e,n,i,s,o,a,r){super(t,e,n,i,s,o,a,r)}ngOnInit(){this.updatePaging()}ngOnChanges(t){t.p3xrValue&&this.updatePaging()}updatePaging(){this.p3xrValue&&(this.paging.figurePaging(this.p3xrValue.length),this.updatePagedItems())}updatePagedItems(){this.p3xrValue?this.pagedItems=this.p3xrValue.slice(this.paging.startIndex,this.paging.endIndex).map(((t,e)=>({index:this.paging.startIndex+e,value:t}))):this.pagedItems=[]}async addSet(t){try{await this.keyNewOrSetDialog.show({$event:t,type:"append",model:{type:"set",key:this.p3xrKey}}),this.refreshKey()}catch(t){this.common.generalHandleError(t)}}async deleteSetMember(t,e){try{await this.common.confirm({message:this.i18n.strings().confirm?.deleteSetMember}),await this.socket.request({action:"key-set-delete-member",payload:{key:this.p3xrKey,value:this.p3xrValueBuffer[t]}}),this.common.toast(this.i18n.strings().status?.deletedSetMember),this.refreshKey()}catch(t){this.common.generalHandleError(t)}}async editValue(t,e,n){try{const i="string"==typeof e&&e.length>=this.maxValueAsBuffer?this.p3xrValueBuffer[t]:e;await this.keyNewOrSetDialog.show({$event:n,type:"edit",model:{type:"set",key:this.p3xrKey,value:i}}),this.refreshKey()}catch(t){this.common.generalHandleError(t)}}copyItem(t){this.copy(t)}showJsonItem(t,e){this.showJson(t,e)}downloadItem(t){this.downloadBuffer(this.p3xrValueBuffer[t])}static ɵfac=function(t){return new(t||Kt)(X.rXU(d.W),X.rXU(g.L),X.rXU(h.h),X.rXU(R.F),X.rXU(G.W),X.rXU(u.Q),X.rXU(m.y),X.rXU(s.gRc))};static ɵcmp=X.VBU({type:Kt,selectors:[["p3xr-key-set"]],features:[X.Vt3,X.OA$],decls:9,vars:3,consts:[[3,"pageChanged","paging"],[1,"p3xr-key-type-table"],[1,"p3xr-key-type-header"],[2,"flex","95%"],[2,"flex","5%","text-align","right"],["mat-icon-button","","matTooltip","Add"],[1,"p3xr-key-type-row"],["mat-icon-button","","matTooltip","Add",3,"click"],[1,"p3xr-value-col","p3xr-pre",2,"flex","95%","cursor","pointer",3,"click"],[1,"p3xr-key-type-row-actions",2,"flex","5%","text-align","right"],["matTooltip","Delete",1,"icon-warn"],["matTooltip","JSON",1,"icon-accent",3,"click"],["matTooltip","Copy",1,"icon-accent",3,"click"],["matTooltip","Download",1,"icon-accent"],["matTooltip","Edit",1,"icon-primary"],["matTooltip","Delete",1,"icon-warn",3,"click"],["matTooltip","Download",1,"icon-accent",3,"click"],["matTooltip","Edit",1,"icon-primary",3,"click"]],template:function(t,e){1&t&&(X.j41(0,"p3xr-key-pager-inline",0),X.bIt("pageChanged",(function(){return e.updatePagedItems()})),X.k0s(),X.j41(1,"div",1)(2,"div",2)(3,"span",3),X.EFF(4),X.k0s(),X.j41(5,"span",4),X.nVh(6,Jt,3,0,"button",5),X.k0s()(),X.Z7z(7,Ut,11,4,"div",6,Mt),X.k0s()),2&t&&(X.Y8G("paging",e.paging),X.R7$(4),X.JRh((null==e.strings||null==e.strings.page||null==e.strings.page.key||null==e.strings.page.key.label?null:e.strings.page.key.label.value)||"Value"),X.R7$(2),X.vxM(e.isReadonly?-1:6),X.R7$(),X.Dyx(e.pagedItems))},dependencies:[a.MD,x.YN,r.Hl,Vt.iY,l.m_,l.An,c.uc,B.oV,jt],encapsulation:2})}const At=(t,e)=>e.index;function Yt(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",8),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG();return i.Njj(n.addZSet(e))})),X.j41(1,"mat-icon"),X.EFF(2,"add"),X.k0s()()}}function _t(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-icon",17),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG().$implicit,s=X.XpG();return i.Njj(s.deleteZSet(n,e))})),X.EFF(1,"delete"),X.k0s()}}function Ht(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-icon",18),X.bIt("click",(function(){i.eBV(t);const e=X.XpG().$implicit,n=X.XpG();return i.Njj(n.downloadItem(e.index))})),X.EFF(1,"download"),X.k0s()}}function zt(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-icon",19),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG().$implicit,s=X.XpG();return i.Njj(s.editValue(n,e))})),X.EFF(1,"edit"),X.k0s()}}function Lt(t,e){if(1&t){const t=X.RV6();X.j41(0,"div",7)(1,"span",9),X.bIt("click",(function(e){const n=i.eBV(t).$implicit,s=X.XpG();return i.Njj(s.editValue(n,e))})),X.EFF(2),X.k0s(),X.j41(3,"span",10),X.bIt("click",(function(e){const n=i.eBV(t).$implicit,s=X.XpG();return i.Njj(s.editValue(n,e))})),X.EFF(4),X.k0s(),X.j41(5,"span",11),X.nVh(6,_t,2,0,"mat-icon",12),X.j41(7,"mat-icon",13),X.bIt("click",(function(e){const n=i.eBV(t).$implicit,s=X.XpG();return i.Njj(s.showJsonItem(n.member,e))})),X.EFF(8,"table_chart"),X.k0s(),X.j41(9,"mat-icon",14),X.bIt("click",(function(){const e=i.eBV(t).$implicit,n=X.XpG();return i.Njj(n.copyItem(e.member))})),X.EFF(10,"content_copy"),X.k0s(),X.nVh(11,Ht,2,0,"mat-icon",15),X.nVh(12,zt,2,0,"mat-icon",16),X.k0s()()}if(2&t){const t=e.$implicit,n=X.XpG();X.R7$(2),X.JRh(t.score),X.R7$(2),X.JRh(t.member),X.R7$(2),X.vxM(n.isReadonly?-1:6),X.R7$(5),X.vxM(n.hasProOrEnterprise?11:-1),X.R7$(),X.vxM(n.isReadonly?-1:12)}}class Wt extends I{paging=new kt({zsetMode:!0});pagedItems=[];constructor(t,e,n,i,s,o,a,r){super(t,e,n,i,s,o,a,r)}ngOnInit(){this.updatePaging()}ngOnChanges(t){t.p3xrValue&&this.updatePaging()}updatePaging(){this.p3xrValue&&(this.paging.figurePaging(this.p3xrValue.length),this.updatePagedItems())}updatePagedItems(){if(!this.p3xrValue)return void(this.pagedItems=[]);const t=[];for(let e=0;e<this.p3xrValue.length;e+=2)t.push({member:this.p3xrValue[e],score:this.p3xrValue[e+1],index:e/2});this.pagedItems=t.slice(this.paging.startIndex,this.paging.endIndex)}async addZSet(t){try{await this.keyNewOrSetDialog.show({$event:t,type:"append",model:{type:"zset",key:this.p3xrKey}}),this.refreshKey()}catch(t){this.common.generalHandleError(t)}}async deleteZSet(t,e){try{await this.common.confirm({message:this.i18n.strings().confirm?.deleteZSetMember}),await this.socket.request({action:"key-zset-delete-member",payload:{key:this.p3xrKey,value:this.p3xrValueBuffer[2*t.index]}}),this.common.toast(this.i18n.strings().status?.deletedZSetMember),this.refreshKey()}catch(t){this.common.generalHandleError(t)}}async editValue(t,e){try{const n="string"==typeof t.member&&t.member.length>=this.maxValueAsBuffer?this.p3xrValueBuffer[2*t.index]:t.member;await this.keyNewOrSetDialog.show({$event:e,type:"edit",model:{type:"zset",key:this.p3xrKey,value:n,score:t.score}}),this.refreshKey()}catch(t){this.common.generalHandleError(t)}}copyItem(t){this.copy(t)}showJsonItem(t,e){this.showJson(t,e)}downloadItem(t){this.downloadBuffer(this.p3xrValueBuffer[2*t])}static ɵfac=function(t){return new(t||Wt)(X.rXU(d.W),X.rXU(g.L),X.rXU(h.h),X.rXU(R.F),X.rXU(G.W),X.rXU(u.Q),X.rXU(m.y),X.rXU(s.gRc))};static ɵcmp=X.VBU({type:Wt,selectors:[["p3xr-key-zset"]],features:[X.Vt3,X.OA$],decls:11,vars:4,consts:[[3,"pageChanged","paging"],[1,"p3xr-key-type-table"],[1,"p3xr-key-type-header"],[2,"flex","20%"],[2,"flex","60%"],[2,"flex","20%","text-align","right"],["mat-icon-button","","matTooltip","Add"],[1,"p3xr-key-type-row"],["mat-icon-button","","matTooltip","Add",3,"click"],[1,"p3xr-key-col",2,"flex","20%","cursor","pointer",3,"click"],[1,"p3xr-value-col","p3xr-pre",2,"flex","60%","cursor","pointer",3,"click"],[1,"p3xr-key-type-row-actions",2,"flex","20%","text-align","right"],["matTooltip","Delete",1,"icon-warn"],["matTooltip","JSON",1,"icon-accent",3,"click"],["matTooltip","Copy",1,"icon-accent",3,"click"],["matTooltip","Download",1,"icon-accent"],["matTooltip","Edit",1,"icon-primary"],["matTooltip","Delete",1,"icon-warn",3,"click"],["matTooltip","Download",1,"icon-accent",3,"click"],["matTooltip","Edit",1,"icon-primary",3,"click"]],template:function(t,e){1&t&&(X.j41(0,"p3xr-key-pager-inline",0),X.bIt("pageChanged",(function(){return e.updatePagedItems()})),X.k0s(),X.j41(1,"div",1)(2,"div",2)(3,"span",3),X.EFF(4),X.k0s(),X.j41(5,"span",4),X.EFF(6),X.k0s(),X.j41(7,"span",5),X.nVh(8,Yt,3,0,"button",6),X.k0s()(),X.Z7z(9,Lt,13,5,"div",7,At),X.k0s()),2&t&&(X.Y8G("paging",e.paging),X.R7$(4),X.JRh((null==e.strings||null==e.strings.page||null==e.strings.page.key||null==e.strings.page.key.label?null:e.strings.page.key.label.score)||"Score"),X.R7$(2),X.JRh((null==e.strings||null==e.strings.page||null==e.strings.page.key||null==e.strings.page.key.label?null:e.strings.page.key.label.value)||"Value"),X.R7$(2),X.vxM(e.isReadonly?-1:8),X.R7$(),X.Dyx(e.pagedItems))},dependencies:[a.MD,x.YN,r.Hl,Vt.iY,l.m_,l.An,c.uc,B.oV,jt],encapsulation:2})}var Zt=n(69617),qt=n(12027);const Qt=(t,e)=>e.id;function te(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",7),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG();return i.Njj(n.addStream(e))})),X.j41(1,"mat-icon"),X.EFF(2,"add"),X.k0s()()}if(2&t){const t=X.XpG();X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.add)??"Add")}}function ee(t,e){if(1&t){const t=X.RV6();X.j41(0,"mat-icon",16),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG().$implicit,s=X.XpG();return i.Njj(s.deleteStreamTimestamp(n.id,e))})),X.EFF(1,"delete"),X.k0s()}if(2&t){const t=X.XpG(2);X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.delete)??"Delete")}}function ne(t,e){if(1&t){const t=X.RV6();X.j41(0,"div",6)(1,"div",8)(2,"span",9)(3,"strong"),X.EFF(4),X.k0s(),X.j41(5,"span",10),X.EFF(6),X.k0s()(),X.j41(7,"span",11)(8,"mat-icon",12),X.bIt("click",(function(){const e=i.eBV(t).$implicit,n=X.XpG();return i.Njj(n.copyEntry(e))})),X.EFF(9,"content_copy"),X.k0s(),X.j41(10,"mat-icon",12),X.bIt("click",(function(e){const n=i.eBV(t).$implicit,s=X.XpG();return i.Njj(s.viewEntryJson(n,e))})),X.EFF(11,"table_chart"),X.k0s(),X.nVh(12,ee,2,1,"mat-icon",13),X.k0s()(),X.j41(13,"div",14),X.nrm(14,"p3xr-json-tree",15),X.k0s()()}if(2&t){const t=e.$implicit,n=X.XpG();X.R7$(4),X.JRh(t.id),X.R7$(2),X.JRh(n.showTimestamp(t.id)),X.R7$(2),X.Y8G("matTooltip",(null==n.strings||null==n.strings.intention?null:n.strings.intention.copy)??"Copy"),X.R7$(2),X.Y8G("matTooltip",(null==n.strings?null:n.strings.json)??"JSON"),X.R7$(2),X.vxM(n.isReadonly?-1:12),X.R7$(2),X.Y8G("data",t.displayData)("label",(null==n.strings||null==n.strings.label?null:n.strings.label.tree)||"Tree")("expanded",!0)}}const ie=n(21443);class se extends I{paging=new kt;pagedEntries=[];allEntries=[];constructor(t,e,n,s,o,a,r,l){super(t,e,n,s,o,a,r,l),(0,i.QZP)((()=>{this.i18n.strings(),0!==this.allEntries.length&&(this.allEntries=this.allEntries.map((t=>({...t,displayData:this.toDisplayData(t.data,t.hasDuplicateFields)}))),this.updatePagedItems(),this.cdr.markForCheck())}))}ngOnInit(){this.updatePaging()}ngOnChanges(t){t.p3xrValue&&this.updatePaging()}updatePaging(){this.p3xrValue&&(this.allEntries=this.p3xrValue.map((t=>{const e=t[0],n=t[1],i=[];for(let t=0;t<n.length;t+=2)i.push([n[t],n[t+1]]);const s=this.hasDuplicateFields(i),o=s?this.fieldsToArray(i):this.fieldsToObject(i);return{id:e,fields:i,data:o,displayData:this.toDisplayData(o,s),hasDuplicateFields:s}})),this.paging.figurePaging(this.allEntries.length),this.updatePagedItems())}updatePagedItems(){this.pagedEntries=this.allEntries.slice(this.paging.startIndex,this.paging.endIndex)}showTimestamp(t){try{const e=parseInt(t.slice(0,t.indexOf("-"))),n=qt?.settings?.language?.momentDateMap||{},i=qt?.settings?.language?.current||"en";return ie(new Date(e)).locale(n[i]||i).format("L LTS")}catch{return t}}isJsonValue(t){if(!t||t.length<2)return!1;const e=t.charAt(0);if("{"!==e&&"["!==e)return!1;try{return JSON.parse(t),!0}catch{return!1}}formatJsonValue(t){try{return JSON.stringify(JSON.parse(t),null,qt?.settings?.jsonFormat??2)}catch{return t}}parseFieldValue(t){try{return JSON.parse(t)}catch{return t}}hasDuplicateFields(t){const e=new Set;for(const[n]of t){if(e.has(n))return!0;e.add(n)}return!1}fieldsToObject(t){const e={};for(const[n,i]of t)e[n]=this.parseFieldValue(i);return e}fieldsToArray(t){return t.map((([t,e])=>({field:t,value:this.parseFieldValue(e)})))}toDisplayData(t,e){if(!e)return t;const n=this.strings?.page?.key?.stream?.table?.field||"Field",i=this.strings?.page?.key?.stream?.table?.value||"Value";return t.map((t=>({[n]:t.field,[i]:t.value})))}entryToExport(t){return t.hasDuplicateFields?{id:t.id,fields:t.data}:{id:t.id,...t.data}}async copyEntry(t){const e=this.entryToExport(t);await this.copy(JSON.stringify(e,null,2))}async viewEntryJson(t,e){const n=this.entryToExport(t);await this.showJson(JSON.stringify(n),e)}async viewFieldJson(t,e){await this.showJson(t,e)}copyField(t){this.copy(t)}async addStream(t){try{await this.keyNewOrSetDialog.show({$event:t,type:"append",model:{type:"stream",key:this.p3xrKey}}),this.refreshKey()}catch(t){this.common.generalHandleError(t)}}async deleteStreamTimestamp(t,e){try{await this.common.confirm({message:this.i18n.strings().confirm?.deleteStreamTimestamp}),await this.socket.request({action:"key-stream-delete-timestamp",payload:{key:this.p3xrKey,streamTimestamp:t}}),this.common.toast(this.i18n.strings().status?.deletedStreamTimestamp||this.i18n.strings().status?.deletedKey||"Deleted"),this.refreshKey()}catch(t){t&&this.common.generalHandleError(t)}}static ɵfac=function(t){return new(t||se)(X.rXU(d.W),X.rXU(g.L),X.rXU(h.h),X.rXU(R.F),X.rXU(G.W),X.rXU(u.Q),X.rXU(m.y),X.rXU(s.gRc))};static ɵcmp=X.VBU({type:se,selectors:[["p3xr-key-stream"]],features:[X.Vt3,X.OA$],decls:9,vars:3,consts:[[3,"pageChanged","paging"],[1,"p3xr-key-type-table"],[1,"p3xr-key-type-header"],[2,"flex","1"],[2,"text-align","right"],["mat-icon-button","",3,"matTooltip"],[1,"p3xr-key-stream-entry-block"],["mat-icon-button","",3,"click","matTooltip"],[1,"p3xr-key-stream-entry-header"],[1,"p3xr-key-stream-timestamp"],[1,"p3xr-key-stream-timestamp-human"],[1,"p3xr-key-type-row-actions"],[1,"icon-accent",3,"click","matTooltip"],[1,"icon-warn",3,"matTooltip"],[1,"p3xr-key-stream-data"],[3,"data","label","expanded"],[1,"icon-warn",3,"click","matTooltip"]],template:function(t,e){1&t&&(X.j41(0,"p3xr-key-pager-inline",0),X.bIt("pageChanged",(function(){return e.updatePagedItems()})),X.k0s(),X.j41(1,"div",1)(2,"div",2)(3,"span",3),X.EFF(4),X.k0s(),X.j41(5,"span",4),X.nVh(6,te,3,1,"button",5),X.k0s()(),X.Z7z(7,ne,15,8,"div",6,Qt),X.k0s()),2&t&&(X.Y8G("paging",e.paging),X.R7$(4),X.JRh((null==e.strings||null==e.strings.page||null==e.strings.page.key||null==e.strings.page.key.stream||null==e.strings.page.key.stream.table?null:e.strings.page.key.stream.table.timestamp)||"Timestamp ID"),X.R7$(2),X.vxM(e.isReadonly?-1:6),X.R7$(),X.Dyx(e.pagedEntries))},dependencies:[a.MD,x.YN,r.Hl,Vt.iY,l.m_,l.An,c.uc,B.oV,jt,Zt.m],encapsulation:2})}var oe=n(12027);function ae(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",6),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return i.Njj(e.copyValue())})),X.j41(1,"mat-icon"),X.EFF(2,"content_copy"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG();X.R7$(4),X.JRh((null==t.strings||null==t.strings.intention?null:t.strings.intention.copy)||"Copy")}}function re(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",7),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return i.Njj(e.copyValue())})),X.j41(1,"mat-icon"),X.EFF(2,"content_copy"),X.k0s()()}if(2&t){const t=X.XpG();X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.copy)??"Copy")}}function le(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",6),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return i.Njj(e.downloadJsonFile())})),X.j41(1,"mat-icon"),X.EFF(2,"download"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG();X.R7$(4),X.JRh((null==t.strings||null==t.strings.intention?null:t.strings.intention.downloadJson)||"Download JSON")}}function ce(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",7),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return i.Njj(e.downloadJsonFile())})),X.j41(1,"mat-icon"),X.EFF(2,"download"),X.k0s()()}if(2&t){const t=X.XpG();X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.downloadJson)??"Download JSON")}}function pe(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",6),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return i.Njj(e.expandAll())})),X.j41(1,"mat-icon"),X.EFF(2,"unfold_more"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG();X.R7$(4),X.JRh((null==t.strings||null==t.strings.page||null==t.strings.page.treeControls?null:t.strings.page.treeControls.expandAll)||"Expand All")}}function ue(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",7),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return i.Njj(e.expandAll())})),X.j41(1,"mat-icon"),X.EFF(2,"unfold_more"),X.k0s()()}if(2&t){const t=X.XpG();X.Y8G("matTooltip",(null==t.strings||null==t.strings.page||null==t.strings.page.treeControls?null:t.strings.page.treeControls.expandAll)??"Expand All")}}function de(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",6),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return i.Njj(e.collapseAll())})),X.j41(1,"mat-icon"),X.EFF(2,"unfold_less"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG();X.R7$(4),X.JRh((null==t.strings||null==t.strings.page||null==t.strings.page.treeControls?null:t.strings.page.treeControls.collapseAll)||"Collapse All")}}function ge(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",7),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return i.Njj(e.collapseAll())})),X.j41(1,"mat-icon"),X.EFF(2,"unfold_less"),X.k0s()()}if(2&t){const t=X.XpG();X.Y8G("matTooltip",(null==t.strings||null==t.strings.page||null==t.strings.page.treeControls?null:t.strings.page.treeControls.collapseAll)??"Collapse All")}}function he(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",6),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return i.Njj(e.toggleWrap())})),X.j41(1,"mat-icon"),X.EFF(2),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG();X.R7$(2),X.JRh(t.treeWrap?"wrap_text":"notes"),X.R7$(2),X.JRh(t.treeWrap?(null==t.strings||null==t.strings.intention?null:t.strings.intention.unwrap)||"Unwrap":(null==t.strings||null==t.strings.intention?null:t.strings.intention.wrap)||"Wrap")}}function me(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",7),X.bIt("click",(function(){i.eBV(t);const e=X.XpG();return i.Njj(e.toggleWrap())})),X.j41(1,"mat-icon"),X.EFF(2),X.k0s()()}if(2&t){const t=X.XpG();X.Y8G("matTooltip",t.treeWrap?(null==t.strings||null==t.strings.intention?null:t.strings.intention.unwrap)??"Unwrap":(null==t.strings||null==t.strings.intention?null:t.strings.intention.wrap)??"Wrap"),X.R7$(2),X.JRh(t.treeWrap?"wrap_text":"notes")}}function fe(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",10),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(2);return i.Njj(e.jsonEditor())})),X.j41(1,"mat-icon"),X.EFF(2,"edit"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){const t=X.XpG(2);X.R7$(4),X.JRh((null==t.strings||null==t.strings.intention?null:t.strings.intention.jsonViewEditor)||"Edit JSON")}}function ye(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",11),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(2);return i.Njj(e.jsonEditor())})),X.j41(1,"mat-icon"),X.EFF(2,"edit"),X.k0s()()}if(2&t){const t=X.XpG(2);X.Y8G("matTooltip",(null==t.strings||null==t.strings.intention?null:t.strings.intention.jsonViewEditor)??"Edit JSON")}}function ke(t,e){if(1&t&&X.nVh(0,fe,5,1,"button",8)(1,ye,3,1,"button",9),2&t){const t=X.XpG();X.vxM(t.isGtSm?0:1)}}function be(t,e){if(1&t&&X.nrm(0,"p3xr-json-tree",4),2&t){const t=X.XpG();X.Y8G("data",t.jsonObj)("label",(null==t.strings||null==t.strings.label?null:t.strings.label.tree)||"root")("expanded",t.treeExpanded)("wrap",t.treeWrap)}}function xe(t,e){if(1&t&&(X.j41(0,"div",5),X.EFF(1),X.k0s()),2&t){const t=X.XpG();X.R7$(),X.JRh(t.truncateDisplay(t.p3xrValue))}}class je extends I{jsonEditorDialog;jsonTree;jsonObj;treeExpanded=!0;treeWrap=!0;constructor(t,e,n,i,s,o,a,r,l){super(t,e,n,i,s,o,r,l),this.jsonEditorDialog=a}ngOnInit(){this.parseJson()}ngOnChanges(t){t.p3xrValue&&this.parseJson()}ngOnDestroy(){this.destroyBase()}parseJson(){try{this.jsonObj=JSON.parse(this.p3xrValue)}catch{this.jsonObj=void 0}}expandAll(){this.jsonTree?.treeControl.expandAll()}collapseAll(){this.jsonTree?.treeControl.collapseAll();const t=this.jsonTree?.treeControl.dataNodes?.[0];t&&this.jsonTree.treeControl.expand(t)}toggleWrap(){this.treeWrap=!this.treeWrap}async copyValue(){await this.copy(this.p3xrValue)}async jsonEditor(){try{const t=await this.jsonEditorDialog.show({value:this.p3xrValue,hideFormatSave:!0}),e="string"==typeof t.obj?t.obj:JSON.stringify(t.obj);oe.ui.overlay.show(),await this.socket.request({action:"key-json-set",payload:{key:this.p3xrKey,path:"$",value:e}}),this.gtag("/key-json-set"),this.common.toast(this.strings?.status?.set||"Saved"),this.refreshKey()}catch(t){t&&this.common.generalHandleError(t)}finally{oe.ui.overlay.hide()}}downloadJsonFile(){const t=new Blob([this.p3xrValue],{type:"application/json"}),e=URL.createObjectURL(t),n=document.createElement("a");n.href=e,n.download=`${this.p3xrKey}.json`,n.click(),URL.revokeObjectURL(e)}static ɵfac=function(t){return new(t||je)(X.rXU(d.W),X.rXU(g.L),X.rXU(h.h),X.rXU(R.F),X.rXU(G.W),X.rXU(u.Q),X.rXU(w.z),X.rXU(m.y),X.rXU(s.gRc))};static ɵcmp=X.VBU({type:je,selectors:[["p3xr-key-json"]],viewQuery:function(t,e){if(1&t&&X.GBs(Zt.m,5),2&t){let t;X.mGM(t=X.lsd())&&(e.jsonTree=t.first)}},features:[X.Vt3,X.OA$],decls:15,vars:7,consts:[[1,"p3xr-key-type-actions"],["mat-raised-button","","type","button",1,"btn-accent","p3xr-action-btn"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-accent",3,"matTooltip"],[1,"p3xr-key-type-content",2,"overflow","auto"],[3,"data","label","expanded","wrap"],[1,"p3xr-pre"],["mat-raised-button","","type","button",1,"btn-accent","p3xr-action-btn",3,"click"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-accent",3,"click","matTooltip"],["mat-raised-button","","type","button",1,"btn-primary","p3xr-action-btn"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-primary",3,"matTooltip"],["mat-raised-button","","type","button",1,"btn-primary","p3xr-action-btn",3,"click"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-primary",3,"click","matTooltip"]],template:function(t,e){1&t&&(X.j41(0,"div",0),X.nVh(1,ae,5,1,"button",1)(2,re,3,1,"button",2),X.nVh(3,le,5,1,"button",1)(4,ce,3,1,"button",2),X.nVh(5,pe,5,1,"button",1)(6,ue,3,1,"button",2),X.nVh(7,de,5,1,"button",1)(8,ge,3,1,"button",2),X.nVh(9,he,5,2,"button",1)(10,me,3,2,"button",2),X.nVh(11,ke,2,1),X.k0s(),X.j41(12,"div",3),X.nVh(13,be,1,4,"p3xr-json-tree",4)(14,xe,2,1,"div",5),X.k0s()),2&t&&(X.R7$(),X.vxM(e.isGtSm?1:2),X.R7$(2),X.vxM(e.isGtSm?3:4),X.R7$(2),X.vxM(e.isGtSm?5:6),X.R7$(2),X.vxM(e.isGtSm?7:8),X.R7$(2),X.vxM(e.isGtSm?9:10),X.R7$(2),X.vxM(!e.isReadonly&&e.hasProOrEnterprise?11:-1),X.R7$(2),X.vxM(void 0!==e.jsonObj?13:14))},dependencies:[a.MD,r.Hl,r.$z,r.$0,l.m_,l.An,c.uc,B.oV,Zt.m],encapsulation:2})}var Ve=n(62922),ve=n(12027);function Fe(t,e){1&t&&(X.j41(0,"div",0),X.nrm(1,"mat-spinner",1),X.k0s())}function Re(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",17),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG(3);return i.Njj(n.addKey(e))})),X.j41(1,"mat-icon"),X.EFF(2,"add"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){let t;const e=X.XpG(3);X.R7$(4),X.JRh(null==(t=e.strings())||null==t.intention?null:t.intention.addKey)}}function we(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",18),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG(3);return i.Njj(n.addKey(e))})),X.j41(1,"mat-icon"),X.EFF(2,"add"),X.k0s()()}if(2&t){let t;const e=X.XpG(3);X.Y8G("matTooltip",(null==(t=e.strings())||null==t.intention?null:t.intention.addKey)??"Add to this key")}}function Ge(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",19),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG(3);return i.Njj(n.deleteKey(e))})),X.j41(1,"mat-icon"),X.EFF(2,"delete"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){let t;const e=X.XpG(3);X.R7$(4),X.JRh(null==(t=e.strings())||null==t.intention?null:t.intention.delete)}}function Xe(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",20),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG(3);return i.Njj(n.deleteKey(e))})),X.j41(1,"mat-icon"),X.EFF(2,"delete"),X.k0s()()}if(2&t){let t;const e=X.XpG(3);X.Y8G("matTooltip",(null==(t=e.strings())||null==t.intention?null:t.intention.delete)??"Delete")}}function Ee(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",21),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG(3);return i.Njj(n.setTtl(e))})),X.j41(1,"mat-icon"),X.EFF(2,"timer"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){let t;const e=X.XpG(3);X.R7$(4),X.JRh(null==(t=e.strings())||null==t.intention?null:t.intention.ttl)}}function Ie(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",22),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG(3);return i.Njj(n.setTtl(e))})),X.j41(1,"mat-icon"),X.EFF(2,"timer"),X.k0s()()}if(2&t){let t;const e=X.XpG(3);X.Y8G("matTooltip",(null==(t=e.strings())||null==t.intention?null:t.intention.ttl)??"Set TTL")}}function Be(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",21),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG(3);return i.Njj(n.rename(e))})),X.j41(1,"mat-icon"),X.EFF(2,"fingerprint"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){let t;const e=X.XpG(3);X.R7$(4),X.JRh(null==(t=e.strings())||null==t.intention?null:t.intention.rename)}}function $e(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",22),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG(3);return i.Njj(n.rename(e))})),X.j41(1,"mat-icon"),X.EFF(2,"fingerprint"),X.k0s()()}if(2&t){let t;const e=X.XpG(3);X.Y8G("matTooltip",(null==(t=e.strings())||null==t.intention?null:t.intention.rename)??"Rename")}}function Te(t,e){if(1&t&&(X.nVh(0,Re,5,1,"button",3)(1,we,3,1,"button",4),X.nVh(2,Ge,5,1,"button",13)(3,Xe,3,1,"button",14),X.nVh(4,Ee,5,1,"button",15)(5,Ie,3,1,"button",16),X.nVh(6,Be,5,1,"button",15)(7,$e,3,1,"button",16)),2&t){const t=X.XpG(2);X.vxM(t.isGtSm?0:1),X.R7$(2),X.vxM(t.isGtSm?2:3),X.R7$(2),X.vxM(t.isGtSm?4:5),X.R7$(2),X.vxM(t.isGtSm?6:7)}}function Ne(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",17),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(2);return i.Njj(e.refresh())})),X.j41(1,"mat-icon"),X.EFF(2,"refresh"),X.k0s(),X.j41(3,"span"),X.EFF(4),X.k0s()()}if(2&t){let t;const e=X.XpG(2);X.R7$(4),X.JRh(null==(t=e.strings())||null==t.intention?null:t.intention.reloadKey)}}function Ce(t,e){if(1&t){const t=X.RV6();X.j41(0,"button",18),X.bIt("click",(function(){i.eBV(t);const e=X.XpG(2);return i.Njj(e.refresh())})),X.j41(1,"mat-icon"),X.EFF(2,"refresh"),X.k0s()()}if(2&t){let t;const e=X.XpG(2);X.Y8G("matTooltip",(null==(t=e.strings())||null==t.intention?null:t.intention.reloadKey)??"Reload Key")}}function Se(t,e){if(1&t&&(X.j41(0,"span"),X.EFF(1),X.k0s()),2&t){let t;const e=X.XpG(2);X.R7$(),X.JRh(null==(t=e.strings())||null==t.page||null==t.page.key||null==t.page.key.label?null:t.page.key.label.ttlNotExpire)}}function Me(t,e){if(1&t&&(X.j41(0,"span",9)(1,"span"),X.EFF(2),X.k0s(),X.nrm(3,"span",23),X.k0s()),2&t){const t=X.XpG(2);X.R7$(2),X.JRh(t.response.ttl)}}function Je(t,e){if(1&t&&(X.j41(0,"span"),X.EFF(1),X.k0s()),2&t){let t;const e=X.XpG(2);X.R7$(),X.Lme(", ",e.response.length," ",null==(t=e.strings())||null==t.page||null==t.page.key||null==t.page.key.label?null:t.page.key.label.lengthItem)}}function De(t,e){if(1&t&&X.nrm(0,"p3xr-key-string",12),2&t){const t=X.XpG(2);X.Y8G("p3xrResponse",t.response)("p3xrValue",t.response.value)("p3xrValueBuffer",t.response.valueBuffer)("p3xrKey",t.key)}}function Oe(t,e){if(1&t&&X.nrm(0,"p3xr-key-list",12),2&t){const t=X.XpG(2);X.Y8G("p3xrResponse",t.response)("p3xrValue",t.response.value)("p3xrValueBuffer",t.response.valueBuffer)("p3xrKey",t.key)}}function Pe(t,e){if(1&t&&X.nrm(0,"p3xr-key-hash",12),2&t){const t=X.XpG(2);X.Y8G("p3xrResponse",t.response)("p3xrValue",t.response.value)("p3xrValueBuffer",t.response.valueBuffer)("p3xrKey",t.key)}}function Ue(t,e){if(1&t&&X.nrm(0,"p3xr-key-set",12),2&t){const t=X.XpG(2);X.Y8G("p3xrResponse",t.response)("p3xrValue",t.response.value)("p3xrValueBuffer",t.response.valueBuffer)("p3xrKey",t.key)}}function Ke(t,e){if(1&t&&X.nrm(0,"p3xr-key-zset",12),2&t){const t=X.XpG(2);X.Y8G("p3xrResponse",t.response)("p3xrValue",t.response.value)("p3xrValueBuffer",t.response.valueBuffer)("p3xrKey",t.key)}}function Ae(t,e){if(1&t&&X.nrm(0,"p3xr-key-stream",12),2&t){const t=X.XpG(2);X.Y8G("p3xrResponse",t.response)("p3xrValue",t.response.value)("p3xrValueBuffer",t.response.valueBuffer)("p3xrKey",t.key)}}function Ye(t,e){if(1&t&&X.nrm(0,"p3xr-key-json",12),2&t){const t=X.XpG(2);X.Y8G("p3xrResponse",t.response)("p3xrValue",t.response.value)("p3xrValueBuffer",t.response.valueBuffer)("p3xrKey",t.key)}}function _e(t,e){if(1&t){const t=X.RV6();X.j41(0,"div",2),X.nVh(1,Te,8,4),X.nVh(2,Ne,5,1,"button",3)(3,Ce,3,1,"button",4),X.k0s(),X.j41(4,"div",5)(5,"div",6),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG();return i.Njj(n.rename(e))})),X.j41(6,"strong"),X.EFF(7),X.k0s(),X.j41(8,"span",7),X.EFF(9),X.k0s()(),X.j41(10,"div",8),X.bIt("click",(function(e){i.eBV(t);const n=X.XpG();return i.Njj(n.setTtl(e))})),X.j41(11,"strong"),X.EFF(12),X.k0s(),X.nVh(13,Se,2,1,"span")(14,Me,4,1,"span",9),X.k0s(),X.j41(15,"div",10)(16,"strong"),X.EFF(17),X.k0s(),X.j41(18,"span"),X.EFF(19),X.k0s()(),X.j41(20,"div",10)(21,"strong"),X.EFF(22),X.k0s(),X.j41(23,"span"),X.EFF(24),X.k0s()(),X.j41(25,"div",10)(26,"strong"),X.EFF(27),X.k0s(),X.j41(28,"span")(29,"span",11),X.EFF(30),X.k0s(),X.EFF(31),X.nVh(32,Je,2,2,"span"),X.k0s()()(),X.nVh(33,De,1,4,"p3xr-key-string",12)(34,Oe,1,4,"p3xr-key-list",12)(35,Pe,1,4,"p3xr-key-hash",12)(36,Ue,1,4,"p3xr-key-set",12)(37,Ke,1,4,"p3xr-key-zset",12)(38,Ae,1,4,"p3xr-key-stream",12)(39,Ye,1,4,"p3xr-key-json",12)}if(2&t){let t,e,n,i,s,o,a,r;const l=X.XpG();X.R7$(),X.vxM(l.isReadonly?-1:1),X.R7$(),X.vxM(l.isGtSm?2:3),X.R7$(5),X.SpI("",null==(t=l.strings())||null==t.page||null==t.page.key||null==t.page.key.label?null:t.page.key.label.key,":"),X.R7$(),X.Y8G("title",l.key),X.R7$(),X.JRh(l.key),X.R7$(3),X.SpI("",null==(e=l.strings())||null==e.page||null==e.page.key||null==e.page.key.label?null:e.page.key.label.ttl,":"),X.R7$(),X.vxM(-1===l.response.ttl?13:14),X.R7$(4),X.SpI("",null==(n=l.strings())||null==n.page||null==n.page.key||null==n.page.key.label?null:n.page.key.label.type,":"),X.R7$(2),X.JRh(null==(i=l.strings())||null==i.redisTypes?null:i.redisTypes[l.response.type]),X.R7$(3),X.SpI("",null==(s=l.strings())||null==s.page||null==s.page.key||null==s.page.key.label?null:s.page.key.label.encoding,":"),X.R7$(2),X.JRh(l.response.encoding),X.R7$(3),X.SpI("",null==(o=l.strings())||null==o.page||null==o.page.key||null==o.page.key.label?null:o.page.key.label.length,":"),X.R7$(3),X.SpI("",l.charactersPrettyBytes(l.response.size)," "),X.R7$(),X.Lme(" ",l.response.size," ",null==(a=l.strings())||null==a.page||null==a.page.key||null==a.page.key.label?null:a.page.key.label.lengthString," "),X.R7$(),X.vxM(l.response.length?32:-1),X.R7$(),X.vxM("string"===(r=l.response.type)?33:"list"===r?34:"hash"===r?35:"set"===r?36:"zset"===r?37:"stream"===r?38:"json"===r?39:-1)}}n(53762),n(78275);class He{ngZone;breakpointObserver;i18n;socket;common;cmd;theme;ttlDialog;nav;route;cdr;loading=!1;response=null;key="";isReadonly=!1;isGtSm=!0;strings;ttlInterval;wasExpiring=!1;unsubFns=[];constructor(t,e,n,s,o,a,r,l,c,p,u){this.ngZone=t,this.breakpointObserver=e,this.i18n=n,this.socket=s,this.common=o,this.cmd=a,this.theme=r,this.ttlDialog=l,this.nav=c,this.route=p,this.cdr=u,this.strings=this.i18n.strings,(0,i.QZP)((()=>{this.theme.currentTheme(),this.key&&(this.removeHighlight(),this.generateHighlight())}))}ngOnInit(){this.key=this.getStateParam("key")||"",this.isReadonly=!0===ve?.state?.connection?.readonly;const t=this.breakpointObserver.observe("(min-width: 960px)").subscribe((t=>{this.isGtSm=t.matches,this.cdr.markForCheck()}));this.unsubFns.push((()=>t.unsubscribe())),this.loadKey(),this.generateHighlight();const e=this.cmd.refreshKey$.subscribe((()=>{this.refresh({withoutParent:!0})}));this.unsubFns.push((()=>e.unsubscribe()));const n=this.route.paramMap.subscribe((t=>{const e=t.get("key")||"";e&&e!==this.key&&(this.key=e,this.loadKey(),this.generateHighlight(),this.cdr.markForCheck())}));this.unsubFns.push((()=>n.unsubscribe()))}ngOnDestroy(){this.clearTtlInterval(),this.removeHighlight(),this.unsubFns.forEach((t=>t()))}addKey(t){t.stopPropagation(),this.cmd.keyNew$.next({event:t,node:{key:this.key}})}deleteKey(t){this.cmd.keyDelete$.next({key:this.key,event:t})}rename(t){this.cmd.keyRename$.next({key:this.key,event:t})}async setTtl(t){try{const e=await this.ttlDialog.show({$event:t,model:{ttl:-1===this.response.ttl?"":this.response.ttl}});if(void 0===e)return;const n=String(e.model.ttl).trim();""===n||null==e.model.ttl?(await this.socket.request({action:"persist",payload:{key:this.key}}),this.gtag("/persist"),await this.refresh(),this.common.toast(this.i18n.strings().status.persisted)):/^-?\d+$/.test(n)?(await this.socket.request({action:"expire",payload:{key:this.key,ttl:parseInt(n)}}),this.gtag("/expire"),await this.refresh(),this.common.toast(this.i18n.strings().status.ttlChanged)):this.common.toast(this.i18n.strings().status.notInteger)}catch(t){this.common.generalHandleError(t)}}async refresh(t={}){this.gtag("/refresh"),await this.loadKey(t)}charactersPrettyBytes(t){return!t||t<1024?"":"("+(ve?.settings?.prettyBytes?.(t)??"")+")"}async loadKey(t={}){let e;this.clearTtlInterval();try{const t=await this.socket.request({action:"key-get",payload:{key:this.key}});if(this.response=t,-2===t.ttl)return void this.checkTtl();t.size=0,this.decodeValueBuffer(t),this.calculateSize(t),t.ttl>-1&&(this.wasExpiring=!0),this.loadTtl()}catch(t){e=t,console.error(t),ve?.settings?.handleConnectionIsClosed?.(t)?this.common.alert(t?.message??String(t)):this.common.alert(this.i18n.strings().label.unableToLoadKey({key:this.key}))}finally{if(e)this.navigateTo("database.statistics");else if(!t.withoutParent){const t=this.getStateParam("resize");t&&t()}this.loading=!1,this.cdr.markForCheck()}}decodeValueBuffer(t){const{type:e,valueBuffer:n}=t,i=new TextDecoder;switch(e){case"string":t.value=i.decode(n);break;case"list":case"set":t.value=n.map((t=>i.decode(t)));break;case"hash":t.value={},Object.entries(n).forEach((([e,n])=>{t.value[e]=i.decode(n)}));break;case"zset":t.value=[];for(let e=0;e<n.length;e+=2)t.value.push(i.decode(n[e])),t.value.push(i.decode(n[e+1]));break;case"json":const e=i.decode(n);try{const n=JSON.parse(e),i=Array.isArray(n)?n[0]:n;t.value=JSON.stringify(i,null,ve?.settings?.jsonFormat??2)}catch{t.value=e}break;case"stream":const s=t=>t.map((t=>Array.isArray(t)?s(t):ArrayBuffer.isView(t)||t instanceof ArrayBuffer?i.decode(t):t));t.value=n.map((t=>s(t)))}}calculateSize(t){if("stream"!==t.type)if("object"==typeof t.valueBuffer&&t.length>0)for(const e of Object.keys(t.valueBuffer))t.size+=t.valueBuffer[e].byteLength;else if(Array.isArray(t.valueBuffer))for(const e of t.valueBuffer)t.size+=e.byteLength;else t.size=t.valueBuffer.byteLength;else{const e=t=>{let e=0;const n=t=>{ArrayBuffer.isView(t)||t instanceof ArrayBuffer?e+=t.byteLength:Array.isArray(t)&&t.forEach(n)};return t.forEach(n),e};t.size=e(t.valueBuffer)}}loadTtl(){if(!this.response||this.response.ttl<=-1)return;const t=n(18901),e=()=>{if(!this.checkTtl())return void this.clearTtlInterval();const e=ve?.settings?.getHumanizeDurationOptions?.()??{},n=" "+t(1e3*this.response.ttl,{...e,delimiter:" "}),i=document.getElementById("p3xr-database-key-ttl-counter");i&&(i.innerText=n)};e(),ve?.state?.reducedFunctions||(this.clearTtlInterval(),this.ttlInterval=setInterval((()=>{this.response.ttl--,e()}),1e3))}checkTtl(){return!(this.response.ttl<-1||this.wasExpiring&&this.response.ttl<1)||(this.common.toast(this.i18n.strings().status.keyIsNotExisting),this.clearTtlInterval(),ve.state.redisChanged=!0,this.navigateTo("database.statistics"),!1)}clearTtlInterval(){this.ttlInterval&&(clearInterval(this.ttlInterval),this.ttlInterval=null)}generateHighlight(){this.removeHighlight();const t=ve?.state?.theme?.includes?.("Dark")||ve?.state?.theme?.includes?.("Matrix"),e=t?"rgba(255,255,255,0.15)":"rgba(0,0,0,0.15)",n=t?"white":"black",i=document.createElement("style");i.id="p3xr-theme-styles-tree-key",i.textContent=`[data-p3xr-tree-key="${ve?.ui?.htmlEncode?.(this.key)??""}"] .p3xr-database-tree-node-label {\n background-color: ${e} !important;\n color: ${n} !important;\n padding: 2px;\n }`,document.head.appendChild(i)}removeHighlight(){document.getElementById("p3xr-theme-styles-tree-key")?.remove()}getStateParam(t){return this.route.snapshot.paramMap.get(t)}navigateTo(t,e){this.nav.navigateTo(t,e)}gtag(t){try{"function"==typeof window.gtag&&window.gtag("config",ve?.settings?.googleAnalytics,{page_path:t})}catch{}}static ɵfac=function(t){return new(t||He)(X.rXU(i.SKi),X.rXU(u.Q),X.rXU(d.W),X.rXU(g.L),X.rXU(h.h),X.rXU(m.y),X.rXU(f.F),X.rXU(b),X.rXU(Ve.o),X.rXU(o.nX),X.rXU(s.gRc))};static ɵcmp=X.VBU({type:He,selectors:[["p3xr-database-key"]],decls:2,vars:2,consts:[[1,"p3xr-database-key-loading"],["diameter","40"],[1,"p3xr-database-key-actions"],["mat-raised-button","","type","button",1,"btn-accent","p3xr-action-btn"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-accent",3,"matTooltip"],[1,"p3xr-database-key-info"],[1,"p3xr-database-key-info-row","p3xr-database-key-info-row-clickable",3,"click"],[1,"p3xr-typography-ellipsis",3,"title"],[1,"p3xr-database-key-info-row","p3xr-database-key-info-row-clickable","p3xr-database-key-ttl-row",3,"click"],[1,"p3xr-database-key-ttl-value"],[1,"p3xr-database-key-info-row"],[2,"opacity","0.5"],[3,"p3xrResponse","p3xrValue","p3xrValueBuffer","p3xrKey"],["mat-raised-button","","type","button",1,"btn-warn","p3xr-action-btn"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-warn",3,"matTooltip"],["mat-raised-button","","type","button",1,"btn-primary","p3xr-action-btn"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-primary",3,"matTooltip"],["mat-raised-button","","type","button",1,"btn-accent","p3xr-action-btn",3,"click"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-accent",3,"click","matTooltip"],["mat-raised-button","","type","button",1,"btn-warn","p3xr-action-btn",3,"click"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-warn",3,"click","matTooltip"],["mat-raised-button","","type","button",1,"btn-primary","p3xr-action-btn",3,"click"],["mat-mini-fab","","type","button","matTooltipPosition","above",1,"btn-primary",3,"click","matTooltip"],["id","p3xr-database-key-ttl-counter",1,"p3xr-database-key-ttl-hint"]],template:function(t,e){1&t&&(X.nVh(0,Fe,2,0,"div",0),X.nVh(1,_e,40,17)),2&t&&(X.vxM(e.loading?0:-1),X.R7$(),X.vxM(!e.loading&&e.response?1:-1))},dependencies:[a.MD,r.Hl,r.$z,r.$0,l.m_,l.An,c.uc,B.oV,p.D6,p.LG,ft,Et,St,Kt,Wt,se,je],encapsulation:2,changeDetection:0})}},53762(t,e,n){n.r(e)},78275(t,e,n){n.r(e)}}]);