p3x-redis-ui-material
Version:
💿 P3X Redis UI triple frontend — Angular + React/MUI + Vue/Vuetify with 54 languages, 7 themes, Socket.IO, desktop notifications, and full feature parity
1 lines • 7.8 kB
JavaScript
import{d as L}from"./main-OCJB5534.js";import{Bi as ym,Di as wf,Dn as _y,Dr as lo,Dt as Qe,F as HY,Gn as dT,In as by,It as Sn,Lt as Sy,P as HT,Pi as xf,Pn as bm,Rn as co,T as Ee,_ as Cf,er as gT,in as Wa,k as G0,mn as YQ,pt as Nf,t as $Y,vr as jy,w as Eb,wr as lc,zn as cp}from"./chunk-CHqDEyfr.js";import{n as x,t as Q}from"./chunk-CyniViPG.js";import"./chunk-CWEwaFv9.js";import{a as jt,i as Vt,o as z,r as Ue,s as zt,t as Bt}from"./chunk-CyaMV1f5.js";import{t as It}from"./chunk-BM0xjj91.js";import{a as se,n as ae,r as gt,t as Qt}from"./chunk-CNSP-oVC.js";import{n as wt,r as yt$1}from"./chunk-CGgWGJ3E.js";import{t as Q$1}from"./chunk-D56BNEWf.js";import{t as T}from"./chunk-CWVY7TNb.js";import{t as w}from"./chunk-BtOEuhJm.js";var bt=[`editorContainer`];function yt(o,_){o&1&&(Wa(0,`mat-dialog-content`,4),_y(1,`div`,11,0),wf())}function St(o,_){if(o&1&&(Wa(0,`mat-dialog-content`,5),HT(1),wf()),o&2){let t=gT();Sn(),Nf(` `,t.strings().label?.jsonViewNotParsable,` `)}}function Mt(o,_){if(o&1){let t=dT();Wa(0,`button`,12),Sy(`click`,function(){ym(t);return bm(gT(2).save(!0))}),Wa(1,`mat-icon`),HT(2,`save`),wf(),Wa(3,`mat-icon`),HT(4,`format_line_spacing`),wf(),Wa(5,`span`,8),HT(6),wf()()}if(o&2){let t=gT(2);by(`matTooltip`,t.strings().intention?.saveWithFormatJson),Sn(6),jy(t.strings().intention?.saveWithFormatJson)}}function Et(o,_){if(o&1){let t=dT();Wa(0,`button`,12),Sy(`click`,function(){ym(t);return bm(gT().save(!1))}),Wa(1,`mat-icon`),HT(2,`save`),wf(),Wa(3,`span`,8),HT(4),wf()(),co(5,Mt,7,2,`button`,13)}if(o&2){let t=gT();by(`matTooltip`,t.strings().intention?.save),Sn(4),jy(t.strings().intention?.save),Sn(),lo(t.hideFormatSave?-1:5)}}var Gt=(()=>{class o{dialogRef;data;i18n;theme;common;breakpointObserver;state;settings;diffDialog;editorContainer;isJson=!1;isReadonly=!1;hideFormatSave=!1;lineWrap=!0;minHeight=`400px`;strings;editorView;wrapCompartment;EditorViewClass;obj;resizeHandler;constructor(t,n,e,r,h,g,x,w,C){this.dialogRef=t,this.data=n,this.i18n=e,this.theme=r,this.common=h,this.breakpointObserver=g,this.state=x,this.settings=w,this.diffDialog=C,this.strings=this.i18n.strings}ngOnInit(){try{this.obj=JSON.parse(this.data.value),this.isJson=!0}catch(t){this.obj=void 0,this.isJson=!1}this.isReadonly=this.state.connection()?.readonly===!0,this.hideFormatSave=this.data.hideFormatSave===!0,this.updateMinHeight()}ngAfterViewInit(){return L(this,null,function*(){if(!this.isJson||!this.editorContainer)return;let{EditorView:t,keymap:n,lineNumbers:e,highlightActiveLineGutter:r,highlightSpecialChars:h,drawSelection:g,highlightActiveLine:x,rectangularSelection:w,crosshairCursor:C}=yield import(`./chunk-Dx1fS7mD2.js`),{EditorState:V,Compartment:at}=yield import(`./chunk-4kT_QC-2.js`);this.wrapCompartment=new at;let{json:rt}=yield import(`./chunk-m7vt01DU.js`),{defaultKeymap:st,history:lt,historyKeymap:ct}=yield import(`./chunk-COwm4PM1.js`),{bracketMatching:mt,foldGutter:dt,foldKeymap:pt,indentOnInput:ht,syntaxHighlighting:gt,defaultHighlightStyle:ut}=yield import(`./chunk-C1PSQocn.js`),{closeBrackets:ft,closeBracketsKeymap:_t}=yield import(`./chunk-C2W81Jax2.js`),{searchKeymap:xt,highlightSelectionMatches:wt}=yield import(`./chunk-Dz-JkilK.js`),{lintKeymap:Ct}=yield import(`./chunk-82H0FIVH.js`),v;if(this.theme.isDark()){let{oneDark:b}=yield import(`./chunk-DsPRKxH2.js`);v=b}else{let{githubLight:b}=yield import(`./chunk-BdmaVK772.js`);v=b}let vt=JSON.stringify(this.obj,null,this.settings.jsonFormat()??2);this.EditorViewClass=t,this.editorView=new t({state:V.create({doc:vt,extensions:[e(),r(),h(),lt(),dt(),g(),ht(),gt(ut,{fallback:!0}),mt(),ft(),w(),C(),x(),wt(),n.of([..._t,...st,...xt,...ct,...pt,...Ct]),rt(),v,t.theme({"&":{height:`calc(90vh - 100px)`,"max-height":`calc(90vh - 100px)`},".cm-scroller":{overflow:`auto`,"scrollbar-width":`auto`},".cm-scroller::-webkit-scrollbar":{height:`12px`,display:`block`},".cm-scroller::-webkit-scrollbar-track":{background:`rgba(128, 128, 128, 0.1)`},".cm-scroller::-webkit-scrollbar-thumb":{background:`rgba(128, 128, 128, 0.4)`,"border-radius":`6px`},".cm-scroller::-webkit-scrollbar-thumb:hover":{background:`rgba(128, 128, 128, 0.6)`}}),this.wrapCompartment.of(this.lineWrap?t.lineWrapping:[]),V.readOnly.of(this.isReadonly)]}),parent:this.editorContainer.nativeElement}),this.resizeHandler=()=>{this.updateMinHeight()},window.addEventListener(`resize`,this.resizeHandler)})}ngOnDestroy(){this.resizeHandler&&window.removeEventListener(`resize`,this.resizeHandler),this.editorView&&(this.editorView.destroy(),this.editorView=void 0)}toggleWrap(){this.lineWrap=!this.lineWrap,this.editorView&&this.wrapCompartment&&this.EditorViewClass&&this.editorView.dispatch({effects:this.wrapCompartment.reconfigure(this.lineWrap?this.EditorViewClass.lineWrapping:[])})}save(t){return L(this,null,function*(){try{let n=this.editorView.state.doc.toString(),e=JSON.parse(n),r=JSON.stringify(e,null,t?this.settings.jsonFormat()??2:0),h=this.state.connection()?.name||`key`;if(!(yield this.diffDialog.show({keyName:h,oldValue:this.data.value,newValue:r})))return;this.dialogRef.close({obj:r})}catch(n){this.common.generalHandleError(n)}})}close(){this.dialogRef.close(void 0)}updateMinHeight(){let t=this.breakpointObserver.isMatched(`(max-width: 959px)`);this.minHeight=t?`100%`:`${Math.max(10,window.innerHeight-100)}px`}static ɵfac=function(n){return new(n||o)(Qe(z),Qe(Ue),Qe(YQ),Qe(T),Qe(It),Qe(cp),Qe(Q),Qe(x),Qe(w))};static ɵcmp=Ee({type:o,selectors:[[`p3xr-json-editor-dialog`]],viewQuery:function(n,e){if(n&1&&lc(bt,5),n&2){let r;Cf(r=xf())&&(e.editorContainer=r.first)}},decls:20,vars:5,consts:[[`editorContainer`,``],[1,`p3xr-dialog-toolbar`,`p3xr-mat-layout-strong`],[`mat-dialog-title`,``,1,`p3xr-dialog-title`,`p3xr-dialog-title-with-icon`],[`mat-icon-button`,``,3,`click`],[1,`p3xr-dialog-content`,`p3xr-dialog-content-mono`,`p3xr-dialog-content-editor`],[1,`p3xr-dialog-content`,`p3xr-dialog-content-mono`,`p3xr-dialog-content-message`],[1,`p3xr-dialog-actions`],[`mat-raised-button`,``,`type`,`button`,1,`btn-accent`,3,`click`],[1,`hide-sm`],[2,`flex`,`1`],[3,`cancel`],[1,`p3xr-codemirror-host`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,3,`click`,`matTooltip`],[`mat-raised-button`,``,`type`,`button`,1,`btn-primary`,3,`matTooltip`]],template:function(n,e){n&1&&(Wa(0,`mat-toolbar`,1)(1,`span`,2)(2,`mat-icon`),HT(3,`edit`),wf(),Wa(4,`span`),HT(5),wf()(),Wa(6,`button`,3),Sy(`click`,function(){return e.close()}),Wa(7,`mat-icon`),HT(8,`close`),wf()()(),co(9,yt,3,0,`mat-dialog-content`,4)(10,St,2,1,`mat-dialog-content`,5),Wa(11,`mat-dialog-actions`,6)(12,`button`,7),Sy(`click`,function(){return e.toggleWrap()}),Wa(13,`mat-icon`),HT(14),wf(),Wa(15,`span`,8),HT(16),wf()(),_y(17,`span`,9),Wa(18,`p3xr-dialog-cancel`,10),Sy(`cancel`,function(){return e.close()}),wf(),co(19,Et,6,3),wf()),n&2&&(Sn(5),jy(e.strings().intention?.jsonViewEditor),Sn(4),lo(e.isJson?9:10),Sn(5),jy(e.lineWrap?`wrap_text`:`notes`),Sn(2),jy(e.lineWrap?e.strings().intention?.unwrap:e.strings().intention?.wrap),Sn(3),lo(e.isJson&&!e.isReadonly?19:-1))},dependencies:[Eb,zt,Bt,Vt,jt,$Y,HY,G0,yt$1,wt,ae,se,Qt,gt,Q$1],styles:[`.hide-sm[_ngcontent-%COMP%]{display:inline}.p3xr-dialog-content-editor[_ngcontent-%COMP%]{padding:0!important;overflow:hidden!important;max-height:none!important}.p3xr-dialog-content-message[_ngcontent-%COMP%]{min-height:320px}.p3xr-codemirror-host[_ngcontent-%COMP%]{height:calc(90vh - 100px)}.p3xr-codemirror-host[_ngcontent-%COMP%] .cm-editor[_ngcontent-%COMP%]{height:100%!important;max-height:100%!important}.p3xr-codemirror-host[_ngcontent-%COMP%] .cm-scroller[_ngcontent-%COMP%]{overflow:auto!important;min-height:0!important}@media(max-width:959px){.hide-sm[_ngcontent-%COMP%]{display:none}}`],changeDetection:1})}return o})();export{Gt as JsonEditorDialogComponent};