@yinuo-ngm/server 1.0.10 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +15 -0
- package/lib/plugins/error-handler.plugin.js +2 -0
- package/lib/routes/api-client/collection.routes.js +18 -2
- package/lib/routes/dashboard.routes.js +5 -1
- package/lib/routes/project.routes.js +1 -1
- package/package.json +2 -2
- package/www/browser/{chunk-V6LX42JA.js → chunk-37KQ3UTB.js} +1 -1
- package/www/browser/chunk-3LDMO67C.js +1 -0
- package/www/browser/{chunk-FL6BUQ4M.js → chunk-3MAJTMXX.js} +1 -1
- package/www/browser/{chunk-PYGKDDJK.js → chunk-3PWCJ3D5.js} +1 -1
- package/www/browser/{chunk-UWKUE7CZ.js → chunk-AZV6AWGC.js} +1 -1
- package/www/browser/{chunk-DV7BEQJD.js → chunk-CO7S3LZV.js} +1 -1
- package/www/browser/{chunk-DUC7XBYN.js → chunk-DJJC6FPO.js} +1 -1
- package/www/browser/{chunk-FPDGZ3ZC.js → chunk-EP45FT55.js} +3 -3
- package/www/browser/{chunk-7U5ZOE34.js → chunk-FNLA2MNI.js} +1 -1
- package/www/browser/{chunk-IXHH6ENJ.js → chunk-G73D24UX.js} +1 -1
- package/www/browser/{chunk-5IUYSJVD.js → chunk-GCKL62DR.js} +1 -1
- package/www/browser/{chunk-MN4WB67T.js → chunk-HCBKQAGF.js} +1 -1
- package/www/browser/{chunk-EAYGWAZB.js → chunk-IMQG3SAE.js} +1 -1
- package/www/browser/{chunk-3N7T4ZJF.js → chunk-J2JNFWJN.js} +1 -1
- package/www/browser/{chunk-TLFV3T3W.js → chunk-MD6RDGU4.js} +1 -1
- package/www/browser/{chunk-5MHC25IS.js → chunk-OUE23ZE4.js} +1 -1
- package/www/browser/{chunk-A2SBXP7A.js → chunk-W6TCGG53.js} +1 -1
- package/www/browser/{chunk-KKLLU6U7.js → chunk-XN5C33GH.js} +1 -1
- package/www/browser/chunk-YVSVIACA.js +4 -0
- package/www/browser/index.html +1 -1
- package/www/browser/main-V3VSEZ7K.js +29 -0
- package/www/browser/chunk-2PBA7FNM.js +0 -4
- package/www/browser/chunk-U7FBNFSB.js +0 -1
- package/www/browser/main-IIW5QQA5.js +0 -29
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import{a as bn,b as xn,c as wn,d as Sn,e as Pn,f as R}from"./chunk-CO7S3LZV.js";import{a as on,b as rn,c as an}from"./chunk-EC33AXSR.js";import{a as Tn,b as Nn,c as On}from"./chunk-J2JNFWJN.js";import"./chunk-HZ73CM45.js";import{a as yn,b as be,c as zn,d as Mn}from"./chunk-W6TCGG53.js";import{b as Me}from"./chunk-SNCDDYQR.js";import{A as _n,B as vn,G as te,a as qt,b as Xt,j as Q,k as dn,l as J,m as un,n as fn,o as A,p as K,q as ve,r as ye,s as ee,w as gn,x as hn,y as Cn,z as ze}from"./chunk-EP45FT55.js";import{A as Qt,Ab as cn,Bb as pn,Cb as mn,Fb as Ce,Hb as _e,L as Jt,M as S,N as b,O as Kt,P as en,T as tn,U as nn,V as F,W as ue,Y as k,Z as B,a as Yt,jb as ln,lb as fe,pb as ge,vb as he,x as Zt,yb as sn,z as Ue}from"./chunk-PTMJ422K.js";import"./chunk-HFZLJHYR.js";import{A as Gt,B as D,d as me,g as Ft,h as kt,i as L,j as Bt,l as At,m as Rt,r as Vt,s as Wt,u as Ht,v as de,w as Ut,x as $t,y as G,z as Z}from"./chunk-53YRDYLS.js";import{$b as j,$c as He,Aa as ae,Ba as st,Bc as wt,Ca as ct,Cc as St,Dc as N,Eb as _,Fa as pt,Fb as yt,Fc as I,Ha as M,Ia as mt,Ic as m,Jc as T,Kb as P,Kc as $,M as q,Mc as Pt,Nc as Tt,Oc as Nt,Pb as zt,Ra as dt,Tb as Mt,Ub as bt,Uc as Ot,Vb as v,Vc as pe,Wc as Ve,Xa as ut,Xb as y,Zb as xt,Zc as oe,_b as E,_c as We,ac as d,ad as X,bc as r,ca as tt,cc as l,cd as Dt,dc as p,fd as O,gd as ie,hc as H,ic as U,ja as nt,jc as Re,kb as ft,kc as z,la as ot,ma as w,mb as s,md as Et,na as it,pa as rt,pd as jt,qa as re,qb as gt,qc as C,ra as f,rd as It,sa as at,sb as ht,ta as lt,tc as c,uc as se,vc as ce,vd as Lt,wb as Ct,xa as g,xb as _t,ya as h,yb as le,z as et,zb as vt}from"./chunk-SJG2JCPL.js";function qn(t){let n=t;return 5}var Dn=["zh",[["\u4E0A\u5348","\u4E0B\u5348"]],void 0,[["\u65E5","\u4E00","\u4E8C","\u4E09","\u56DB","\u4E94","\u516D"],["\u5468\u65E5","\u5468\u4E00","\u5468\u4E8C","\u5468\u4E09","\u5468\u56DB","\u5468\u4E94","\u5468\u516D"],["\u661F\u671F\u65E5","\u661F\u671F\u4E00","\u661F\u671F\u4E8C","\u661F\u671F\u4E09","\u661F\u671F\u56DB","\u661F\u671F\u4E94","\u661F\u671F\u516D"],["\u5468\u65E5","\u5468\u4E00","\u5468\u4E8C","\u5468\u4E09","\u5468\u56DB","\u5468\u4E94","\u5468\u516D"]],void 0,[["1","2","3","4","5","6","7","8","9","10","11","12"],["1\u6708","2\u6708","3\u6708","4\u6708","5\u6708","6\u6708","7\u6708","8\u6708","9\u6708","10\u6708","11\u6708","12\u6708"],["\u4E00\u6708","\u4E8C\u6708","\u4E09\u6708","\u56DB\u6708","\u4E94\u6708","\u516D\u6708","\u4E03\u6708","\u516B\u6708","\u4E5D\u6708","\u5341\u6708","\u5341\u4E00\u6708","\u5341\u4E8C\u6708"]],void 0,[["\u516C\u5143\u524D","\u516C\u5143"]],0,[6,0],["y/M/d","y\u5E74M\u6708d\u65E5",void 0,"y\u5E74M\u6708d\u65E5EEEE"],["HH:mm","HH:mm:ss","z HH:mm:ss","zzzz HH:mm:ss"],["{1} {0}",void 0,void 0,void 0],[".",",",";","%","+","-","E","\xD7","\u2030","\u221E","NaN",":"],["#,##0.###","#,##0%","\xA4#,##0.00","#E0"],"CNY","\xA5","\u4EBA\u6C11\u5E01",{AUD:["AU$","$"],BYN:[void 0,"\u0440."],CNY:["\xA5"],ILR:["ILS"],JPY:["JP\xA5","\xA5"],KRW:["\uFFE6","\u20A9"],PHP:[void 0,"\u20B1"],RUR:[void 0,"\u0440."],TWD:["NT$"],USD:["US$","$"],XXX:[]},"ltr",qn];var Xn="@",Zn=(()=>{class t{doc;delegate;zone;animationType;moduleImpl;_rendererFactoryPromise=null;scheduler=null;injector=f(ae);loadingSchedulerFn=f(Qn,{optional:!0});_engine;constructor(e,o,i,a,u){this.doc=e,this.delegate=o,this.zone=i,this.animationType=a,this.moduleImpl=u}ngOnDestroy(){this._engine?.flush()}loadImpl(){let e=()=>this.moduleImpl??import("./chunk-HEKO7RQP.js").then(i=>i),o;return this.loadingSchedulerFn?o=this.loadingSchedulerFn(e):o=e(),o.catch(i=>{throw new nt(5300,!1)}).then(({\u0275createEngine:i,\u0275AnimationRendererFactory:a})=>{this._engine=i(this.animationType,this.doc);let u=new a(this.delegate,this._engine,this.zone);return this.delegate=u,u})}createRenderer(e,o){let i=this.delegate.createRenderer(e,o);if(i.\u0275type===0)return i;typeof i.throwOnSyntheticProps=="boolean"&&(i.throwOnSyntheticProps=!1);let a=new $e(i);return o?.data?.animation&&!this._rendererFactoryPromise&&(this._rendererFactoryPromise=this.loadImpl()),this._rendererFactoryPromise?.then(u=>{let W=u.createRenderer(e,o);a.use(W),this.scheduler??=this.injector.get(mt,null,{optional:!0}),this.scheduler?.notify(10)}).catch(u=>{a.use(i)}),a}begin(){this.delegate.begin?.()}end(){this.delegate.end?.()}whenRenderingDone(){return this.delegate.whenRenderingDone?.()??Promise.resolve()}componentReplaced(e){this._engine?.flush(),this.delegate.componentReplaced?.(e)}static \u0275fac=function(o){vt()};static \u0275prov=w({token:t,factory:t.\u0275fac})}return t})(),$e=class{delegate;replay=[];\u0275type=1;constructor(n){this.delegate=n}use(n){if(this.delegate=n,this.replay!==null){for(let e of this.replay)e(n);this.replay=null}}get data(){return this.delegate.data}destroy(){this.replay=null,this.delegate.destroy()}createElement(n,e){return this.delegate.createElement(n,e)}createComment(n){return this.delegate.createComment(n)}createText(n){return this.delegate.createText(n)}get destroyNode(){return this.delegate.destroyNode}appendChild(n,e){this.delegate.appendChild(n,e)}insertBefore(n,e,o,i){this.delegate.insertBefore(n,e,o,i)}removeChild(n,e,o,i){this.delegate.removeChild(n,e,o,i)}selectRootElement(n,e){return this.delegate.selectRootElement(n,e)}parentNode(n){return this.delegate.parentNode(n)}nextSibling(n){return this.delegate.nextSibling(n)}setAttribute(n,e,o,i){this.delegate.setAttribute(n,e,o,i)}removeAttribute(n,e,o){this.delegate.removeAttribute(n,e,o)}addClass(n,e){this.delegate.addClass(n,e)}removeClass(n,e){this.delegate.removeClass(n,e)}setStyle(n,e,o,i){this.delegate.setStyle(n,e,o,i)}removeStyle(n,e,o){this.delegate.removeStyle(n,e,o)}setProperty(n,e,o){this.shouldReplay(e)&&this.replay.push(i=>i.setProperty(n,e,o)),this.delegate.setProperty(n,e,o)}setValue(n,e){this.delegate.setValue(n,e)}listen(n,e,o,i){return this.shouldReplay(e)&&this.replay.push(a=>a.listen(n,e,o,i)),this.delegate.listen(n,e,o,i)}shouldReplay(n){return this.replay!==null&&n.startsWith(Xn)}},Qn=new rt("");function En(t="animations"){return gt("NgAsyncAnimations"),at([{provide:Ct,useFactory:(n,e,o)=>new Zn(n,e,o,t),deps:[st,At,ht]},{provide:ut,useValue:t==="noop"?"NoopAnimations":"BrowserAnimations"}])}var xe=class t{currentTheme="default";constructor(){}reverseTheme(n){return n==="dark"?"default":"dark"}removeUnusedTheme(n){document.documentElement.classList.remove(n);let e=document.getElementById(n);e&&document.head.removeChild(e)}loadCss(n,e){return new Promise((o,i)=>{let a=document.createElement("link");a.rel="stylesheet",a.href=n,a.id=e,a.onload=o,a.onerror=i,document.head.append(a)})}loadTheme(n=!0){let e=this.currentTheme;return n&&document.documentElement.classList.add(e),new Promise((o,i)=>{this.loadCss(`${e}.css`,e).then(a=>{n||document.documentElement.classList.add(e),this.removeUnusedTheme(this.reverseTheme(e)),o(a)},a=>i(a))})}toggleTheme(){return this.currentTheme=this.reverseTheme(this.currentTheme),this.loadTheme(!1)}static \u0275fac=function(e){return new(e||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})};var jn={provide:zt,useFactory:t=>()=>t.loadTheme(),deps:[xe],multi:!0};var In=[{path:"",redirectTo:"dashboard",pathMatch:"full"},{path:"dashboard",loadChildren:()=>import("./chunk-3MAJTMXX.js").then(t=>t.DashboardModule)},{path:"tasks",loadChildren:()=>import("./chunk-IMQG3SAE.js").then(t=>t.TasksModule)},{path:"projects",loadChildren:()=>import("./chunk-XN5C33GH.js").then(t=>t.ProjectsModule)},{path:"settings",loadChildren:()=>import("./chunk-V27A2EK4.js").then(t=>t.SettingModule)},{path:"configuration",loadChildren:()=>import("./chunk-AZV6AWGC.js").then(t=>t.ConfigurationModule)},{path:"dependencies",loadChildren:()=>import("./chunk-37KQ3UTB.js").then(t=>t.DependenciesModule)},{path:"rquest",loadChildren:()=>import("./chunk-3LDMO67C.js").then(t=>t.ApiClientModule)},{path:"about",loadChildren:()=>import("./chunk-CPA2B3DD.js").then(t=>t.AboutRoutingModule)},{path:"**",redirectTo:"dashboard"}];Bt(Dn);var Ln={providers:[jn,pt(),Dt(),Gt(In),Xt(qt),En(),lt(ze),Vt(Wt([On]))]};var Ge=["*"];function Jn(t,n){}function Kn(t,n){if(t&1&&(r(0,"span",1),P(1,Jn,0,0,"ng-template",2),p(2,"nz-icon",3),l()),t&2){let e=c(),o=N(4);d("nzDropdownMenu",e.nzOverlay),s(),d("ngTemplateOutlet",o)}}function eo(t,n){}function to(t,n){if(t&1&&P(0,eo,0,0,"ng-template",2),t&2){c();let e=N(4);d("ngTemplateOutlet",e)}}function no(t,n){if(t&1&&(H(0),m(1),U()),t&2){let e=c(2);s(),$(" ",e.nzBreadCrumbComponent.nzSeparator," ")}}function oo(t,n){if(t&1&&(r(0,"nz-breadcrumb-separator"),P(1,no,2,1,"ng-container",4),l()),t&2){let e=c();s(),d("nzStringTemplateOutlet",e.nzBreadCrumbComponent.nzSeparator)}}function io(t,n){t&1&&(r(0,"span",5),ce(1),l())}var ro=(t,n)=>n.url;function ao(t,n){if(t&1){let e=z();r(0,"nz-breadcrumb-item")(1,"a",0),C("click",function(i){let a=g(e).$implicit,u=c(2);return h(u.navigate(a.url,i))}),m(2),l()()}if(t&2){let e=n.$implicit;s(),Mt("href",e.url,ft),s(),T(e.label)}}function lo(t,n){if(t&1&&E(0,ao,3,2,"nz-breadcrumb-item",null,ro),t&2){let e=c();j(e.breadcrumbs)}}var we=class{},so=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275cmp=_({type:t,selectors:[["nz-breadcrumb-separator"]],hostAttrs:[1,"ant-breadcrumb-separator"],exportAs:["nzBreadcrumbSeparator"],ngContentSelectors:Ge,decls:1,vars:0,template:function(o,i){o&1&&(se(),ce(0))},encapsulation:2})}return t})(),kn=(()=>{class t{nzBreadCrumbComponent=f(we);nzOverlay;static \u0275fac=function(o){return new(o||t)};static \u0275cmp=_({type:t,selectors:[["nz-breadcrumb-item"]],inputs:{nzOverlay:"nzOverlay"},exportAs:["nzBreadcrumbItem"],ngContentSelectors:Ge,decls:5,vars:2,consts:[["noMenuTpl",""],["nz-dropdown","",1,"ant-breadcrumb-overlay-link",3,"nzDropdownMenu"],[3,"ngTemplateOutlet"],["nzType","down"],[4,"nzStringTemplateOutlet"],[1,"ant-breadcrumb-link"]],template:function(o,i){o&1&&(se(),v(0,Kn,3,2,"span",1)(1,to,1,1,null,2),v(2,oo,2,1,"nz-breadcrumb-separator"),P(3,io,2,0,"ng-template",null,0,X)),o&2&&(y(i.nzOverlay?0:1),s(2),y(i.nzBreadCrumbComponent.nzSeparator?2:-1))},dependencies:[me,so,ee,K,b,S,en,Kt],encapsulation:2,changeDetection:0})}return t})(),co=(()=>{class t{injector=f(ae);cdr=f(It);elementRef=f(dt);renderer=f(_t);directionality=f(Zt);destroyRef=f(ct);nzAutoGenerate=!1;nzSeparator="/";nzRouteLabel="breadcrumb";nzRouteLabelFn=e=>e;nzRouteFn=e=>e;breadcrumbs=[];dir="ltr";ngOnInit(){this.nzAutoGenerate&&this.registerRouterChange(),this.directionality.change?.pipe(Ue(this.destroyRef)).subscribe(e=>{this.dir=e,this.prepareComponentForRtl(),this.cdr.detectChanges()}),this.dir=this.directionality.value,this.prepareComponentForRtl()}navigate(e,o){o.preventDefault(),this.injector.get(G).navigateByUrl(e)}registerRouterChange(){try{let e=this.injector.get(G),o=this.injector.get(Ut);e.events.pipe(q(i=>i instanceof de),Ue(this.destroyRef),tt(!0)).subscribe(()=>{this.breadcrumbs=this.getBreadcrumbs(o.root),this.cdr.markForCheck()})}catch{throw new Error(`${Yt} You should import RouterModule if you want to use 'NzAutoGenerate'.`)}}getBreadcrumbs(e,o="",i=[]){let a=e.children;if(a.length===0)return i;for(let u of a)if(u.outlet===Ht){let W=u.snapshot.url.map(ne=>ne.path).filter(ne=>ne).join("/"),Je=W?`${o}/${W}`:o,Ke=this.nzRouteLabelFn(u.snapshot.data[this.nzRouteLabel]),Yn=this.nzRouteFn(Je);if(W&&Ke){let ne={label:Ke,params:u.snapshot.params,url:Yn};i.push(ne)}return this.getBreadcrumbs(u,Je,i)}return i}prepareComponentForRtl(){this.dir==="rtl"?this.renderer.addClass(this.elementRef.nativeElement,"ant-breadcrumb-rtl"):this.renderer.removeClass(this.elementRef.nativeElement,"ant-breadcrumb-rtl")}static \u0275fac=function(o){return new(o||t)};static \u0275cmp=_({type:t,selectors:[["nz-breadcrumb"]],hostAttrs:[1,"ant-breadcrumb"],inputs:{nzAutoGenerate:[2,"nzAutoGenerate","nzAutoGenerate",Lt],nzSeparator:"nzSeparator",nzRouteLabel:"nzRouteLabel",nzRouteLabelFn:"nzRouteLabelFn",nzRouteFn:"nzRouteFn"},exportAs:["nzBreadcrumb"],features:[Ot([{provide:we,useExisting:ot(()=>t)}])],ngContentSelectors:Ge,decls:2,vars:1,consts:[[3,"click"]],template:function(o,i){o&1&&(se(),ce(0),v(1,lo,2,0)),o&2&&(s(),y(i.nzAutoGenerate&&i.breadcrumbs.length?1:-1))},dependencies:[kn],encapsulation:2,changeDetection:0})}return t})(),Bn=(()=>{class t{static \u0275fac=function(o){return new(o||t)};static \u0275mod=yt({type:t});static \u0275inj=it({imports:[co,kn]})}return t})();function po(t){return t.op==="syslog.tail"}function mo(t){return t.op==="syslog.append"}function Ye(t,n){return n?!(n.scope!==void 0&&t?.scope!==n.scope||n.level!==void 0&&t?.level!==n.level||n.source!==void 0&&t?.source!==n.source||n.refId!==void 0&&t?.refId!==n.refId):!0}var Se=class t{constructor(n){this.ws=n;this.msgSub=this.ws.messages().pipe(q(e=>po(e)||mo(e))).subscribe(e=>this.onWsMessage(e)),this.wsStateSub=this.ws.stateChanges().subscribe(e=>{let o=this.lastWsState==="open",i=e==="open";!o&&i&&(this.subSentForCurrentConnection=!1,this.sendSubIfNeeded()),o&&!i&&(this.subSentForCurrentConnection=!1),this.lastWsState=e})}msgSub;wsStateSub;enabled=M(!1);filter=M({});logs=M([]);unread=M(0);drawerOpen=M(!1);capacity=2e3;tail=300;subSentForCurrentConnection=!1;lastWsState="idle";setDrawerOpen(n){this.drawerOpen.set(n),n&&this.unread.set(0)}setFilter(n){this.filter.set(n??{});let e=this.logs();if(!e.length)return;let o=e.filter(i=>Ye(i,this.filter()));this.logs.set(o.slice(-this.capacity))}enable(n=300){let e=Math.max(0,Math.min(5e3,n|0));if(this.tail=e,this.enabled()){this.ws.isOpen()&&(this.subSentForCurrentConnection=!1,this.sendSubIfNeeded());return}this.enabled.set(!0),this.ws.connect(),this.sendSubIfNeeded()}disable(){this.enabled.set(!1),this.subSentForCurrentConnection=!1}markRead(){this.unread.set(0)}clear(){this.logs.set([]),this.unread.set(0)}sendSubIfNeeded(){this.enabled()&&this.ws.isOpen()&&(this.subSentForCurrentConnection||(this.ws.send({op:"sub",topic:"syslog",tail:this.tail}),this.subSentForCurrentConnection=!0))}onWsMessage(n){let e=this.filter();if(n.op==="syslog.tail"){let u=(n.entries??[]).filter(W=>Ye(W,e));this.logs.set(u.slice(-this.capacity));return}let o=n.entry;if(!Ye(o,e))return;let i=this.logs(),a=i.length>=this.capacity?i.slice(1):i.slice();a.push(o),this.logs.set(a),this.drawerOpen()||this.unread.set(this.unread()+1)}static \u0275fac=function(e){return new(e||t)(re(Me))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})};var fo=["logBox"],go=()=>({padding:"0px",overflow:"hidden"});function ho(t,n){if(t&1&&(r(0,"nz-tag",12),m(1),oe(2,"uppercase"),l(),r(3,"div",13),m(4),l(),r(5,"div",14),m(6),oe(7,"date"),l()),t&2){let e,o,i,a,u=c();d("nzColor",u.getColor((e=u.lastLine())==null?null:e.level)),s(),$(" ",We(2,4,(o=u.lastLine())==null?null:o.level)," "),s(3),T((i=u.lastLine())==null?null:i.text),s(2),T(He(7,6,(a=u.lastLine())==null?null:a.ts,"yyyy-MM-dd HH:mm:ss"))}}function Co(t,n){t&1&&(r(0,"nz-tag",15),m(1,"INFO"),l(),r(2,"div",13),m(3,"\u6682\u65E0\u65E5\u5FD7"),l(),r(4,"div",14),m(5,"--"),l())}function _o(t,n){if(t&1&&m(0),t&2){let e=c().$implicit;$(" ",e.data==null?null:e.data.icon," ")}}function vo(t,n){if(t&1&&(r(0,"div",18)(1,"nz-tag",12),m(2),oe(3,"uppercase"),l(),r(4,"span",14),m(5),oe(6,"date"),l(),r(7,"span",19),v(8,_o,1,1),m(9),l()()),t&2){let e=n.$implicit,o=c(2);I("err",e.level==="error")("warn",e.level==="warn")("info",e.level==="info")("debug",e.level==="debug")("success",e.level==="success"),s(),d("nzColor",o.getColor(e.level)),s(),$(" ",We(3,15,e.level)," "),s(3),T(He(6,17,e.ts,"yyyy-MM-dd HH:mm:ss")),s(3),y(e.data!=null&&e.data.icon?8:-1),s(),$(" ",e.text," ")}}function yo(t,n){if(t&1&&(H(0),r(1,"div",16,1),E(3,vo,10,20,"div",17,bt().trackByLine,!0),l(),U()),t&2){let e=c();s(3),j(e.lines())}}function zo(t,n){if(t&1){let e=z();r(0,"nz-space",20)(1,"button",21),C("click",function(){g(e);let i=c();return h(i.clearLog())}),p(2,"nz-icon",22),l(),r(3,"button",23),C("click",function(){g(e);let i=c();return h(i.toBottom())}),p(4,"nz-icon",24),l()()}}var Pe=class t{sysLogStream=f(Se);projectState=f(te);logBox=Et("logBox");autoFollow=M(!0);isOpen=M(!1);curProjectPath=O(()=>this.projectState.currentProject()?.root||"");lines=O(()=>this.sysLogStream.logs());lastLine=O(()=>{let n=this.sysLogStream.logs();return n.length?n[n.length-1]:null});unread=O(()=>this.sysLogStream.unread());constructor(){ie(()=>{this.sysLogStream.setDrawerOpen(this.isOpen()),this.isOpen()&&queueMicrotask(()=>this.toBottom())}),ie(()=>{this.lines(),this.isOpen()&&this.autoFollow()&&queueMicrotask(()=>this.toBottom())})}ngOnInit(){this.sysLogStream.enable(300)}openLog(){this.isOpen.set(!0)}closeLog(){this.isOpen.set(!1)}clearLog(){this.sysLogStream.clear()}toBottom(){let n=this.logBox()?.nativeElement;n&&(n.scrollTop=n.scrollHeight)}trackByLine=(n,e)=>`${e.ts}-${e.refId??""}-${e.text}`;getColor(n){if(!n)return"#000000";switch(n){case"success":return"#22c55e";case"info":return"#18bdfd";case"debug":return"#94a3b8";case"error":return"#ef4444";case"warn":return"#f59e0b";default:return"#000000"}}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=_({type:t,selectors:[["app-system-log"]],viewQuery:function(e,o){e&1&&wt(o.logBox,fo,5),e&2&&St()},decls:16,vars:10,consts:[["extra",""],["logBox",""],[1,"status-bar"],[1,"project-path"],["nz-button","","nzType","text","routerLink","/projects","nz-tooltip","\u9879\u76EE\u7BA1\u7406","nzTooltipPlacement","top",1,"home"],["nzType","home","nzTheme","outline",1,"icon"],["nz-button","","nzType","text","nzTooltipPlacement","top",1,"path",3,"nz-tooltip"],["nzType","folder","nzTheme","outline",1,"icon"],["nz-tooltip","\u6253\u5F00\u65E5\u5FD7",1,"last-log",3,"click"],["nzType","profile","nzTheme","outline",1,"icon"],["nzTitle","\u65E5\u5FD7","nzPlacement","bottom",3,"nzOnClose","nzVisible","nzMaskClosable","nzMask","nzExtra","nzHeight","nzBodyStyle"],[4,"nzDrawerContent"],[1,"level-tag",3,"nzColor"],[1,"info"],[1,"time"],["nzColor","default"],[1,"log"],[1,"line",3,"err","warn","info","debug","success"],[1,"line"],[1,"msg"],["nzAlign","center"],["nz-button","","nzType","text","nz-tooltip","\u6E05\u7A7A\u65E5\u5FD7",3,"click"],["nzType","clear","nzTheme","outline"],["nz-button","","nzType","text","nz-tooltip","\u6EDA\u52A8\u5230\u5E95\u90E8",3,"click"],["nzType","vertical-align-bottom","nzTheme","outline"]],template:function(e,o){if(e&1){let i=z();r(0,"div",2)(1,"div",3)(2,"a",4),p(3,"nz-icon",5),l(),r(4,"button",6),p(5,"nz-icon",7),r(6,"span"),m(7),l()()(),r(8,"div",8),C("click",function(){return g(i),h(o.openLog())}),p(9,"nz-icon",9),v(10,ho,8,9)(11,Co,6,0),l()(),r(12,"nz-drawer",10),C("nzOnClose",function(){return g(i),h(o.closeLog())}),P(13,yo,5,0,"ng-container",11),l(),P(14,zo,5,0,"ng-template",null,0,X)}if(e&2){let i=N(15);s(4),d("nz-tooltip",o.curProjectPath()),s(3),T(o.curProjectPath()),s(3),y(o.lastLine()?10:11),s(2),d("nzVisible",o.isOpen())("nzMaskClosable",!1)("nzMask",!1)("nzExtra",i)("nzHeight",300)("nzBodyStyle",pe(9,go))}},dependencies:[L,Nn,Tn,an,rn,on,B,k,F,nn,tn,b,S,_e,Ce,D,Z,Ft,kt],styles:["[_nghost-%COMP%]{display:block;position:relative;z-index:3;flex:0 0 auto}.status-bar[_ngcontent-%COMP%]{height:32px;display:flex;align-items:center;width:100%;-webkit-user-select:none;user-select:none}.status-bar[_ngcontent-%COMP%] .project-path[_ngcontent-%COMP%]{flex:0 0 auto;display:flex;align-items:center;padding:0 8px;gap:4px}.status-bar[_ngcontent-%COMP%] .project-path[_ngcontent-%COMP%] .home[_ngcontent-%COMP%], .status-bar[_ngcontent-%COMP%] .project-path[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{display:inline-flex;align-items:center;padding:0;max-width:360px}.status-bar[_ngcontent-%COMP%] .project-path[_ngcontent-%COMP%] .home[_ngcontent-%COMP%] span[_ngcontent-%COMP%], .status-bar[_ngcontent-%COMP%] .project-path[_ngcontent-%COMP%] .path[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.status-bar[_ngcontent-%COMP%] .project-path[_ngcontent-%COMP%] .home[_ngcontent-%COMP%]{justify-content:center}.status-bar[_ngcontent-%COMP%] .project-path[_ngcontent-%COMP%] .path[_ngcontent-%COMP%]{min-width:240px;justify-content:flex-start}.status-bar[_ngcontent-%COMP%] .last-log[_ngcontent-%COMP%]{cursor:pointer;flex:1;display:flex;align-items:center;padding:0 12px;gap:8px}.status-bar[_ngcontent-%COMP%] .last-log[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.status-bar[_ngcontent-%COMP%] .last-log[_ngcontent-%COMP%] .time[_ngcontent-%COMP%]{flex:0 0 auto;opacity:.75;font-size:14px}.status-bar[_ngcontent-%COMP%] .last-log[_ngcontent-%COMP%]:hover{background:#f5f7fa}.icon[_ngcontent-%COMP%]{margin-right:8px;font-size:18px;display:inline-flex}.log[_ngcontent-%COMP%]{height:100%;overflow:auto;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;line-height:18px}.line[_ngcontent-%COMP%]{display:flex;gap:12px;padding:2px 0;align-items:center}.line[_ngcontent-%COMP%] .time[_ngcontent-%COMP%]{flex:0 0 auto;opacity:.65;font-variant-numeric:tabular-nums}.line[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{flex:1 1 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.line.err[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{font-weight:600}.line.warn[_ngcontent-%COMP%] .msg[_ngcontent-%COMP%]{font-weight:500}.level-tag[_ngcontent-%COMP%]{font-size:12px;padding:0 4px;line-height:1.5;display:inline-flex;align-items:center;justify-content:center;min-width:58px;border-radius:4px}"],changeDetection:0})};var Te=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=_({type:t,selectors:[["ngm-footer"]],decls:2,vars:0,template:function(e,o){e&1&&(r(0,"nz-footer"),p(1,"app-system-log"),l())},dependencies:[R,xn,Pe],styles:["nz-footer[_ngcontent-%COMP%]{padding:0;align-items:center;display:flex}app-system-log[_ngcontent-%COMP%]{width:100%}"]})};var Ne=class t{static \u0275fac=function(e){return new(e||t)};static \u0275cmp=_({type:t,selectors:[["ngm-header"]],decls:4,vars:0,consts:[[1,"app-header"],["nzType","disconnect","nzTheme","outline"]],template:function(e,o){e&1&&(r(0,"nz-header",0),p(1,"nz-icon",1),r(2,"span"),m(3,"\u8FDE\u63A5\u5DF2\u65AD\u5F00"),l()())},dependencies:[L,R,wn,b,S],styles:["nz-header.app-header[_ngcontent-%COMP%]{padding:0;width:100%;position:relative;height:48px;line-height:48px;background:var(--header-error-background);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;gap:8px}"],changeDetection:0})};var Oe=class t{isCollapsed=M(!1);static \u0275fac=function(e){return new(e||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})};var De=class t{currentMenu=M(null);router=f(G);menus=[{title:"\u4EEA\u8868\u76D8",path:"/dashboard",icon:"dashboard",level:1},{title:"\u4F9D\u8D56",path:"/dependencies",icon:"codepen",level:1},{title:"\u4EFB\u52A1",path:"/tasks",icon:"schedule",level:1,taskCountBadge:!0},{title:"\u914D\u7F6E",path:"/configuration",icon:"setting",level:1},{title:"API",path:"/rquest",icon:"api",level:1}];constructor(){this.syncByUrl(this.router.url),this.router.events.pipe(q(n=>n instanceof de)).subscribe(n=>this.syncByUrl(n.urlAfterRedirects))}isActive(n){return this.router.isActive(n,{paths:"subset",queryParams:"ignored",fragment:"ignored",matrixParams:"ignored"})}getMenus(){return this.menus}clickMenu(n){n.path&&this.router.navigateByUrl(n.path),this.currentMenu.set(n)}syncByUrl(n){let e=this.normalizeUrl(n),o=this.findBestMatch(this.menus,e);this.currentMenu.set(o)}normalizeUrl(n){return n.split("?")[0].split("#")[0]}findBestMatch(n,e){let o=this.flatten(n).filter(a=>!!a.path),i=null;for(let a of o){let u=a.path;(e===u||e.startsWith(u+"/"))&&(!i||u.length>i.path.length)&&(i=a)}return i}flatten(n){let e=[];for(let o of n)e.push(o),o.children?.length&&e.push(...this.flatten(o.children));return e}static \u0275fac=function(e){return new(e||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})};var Ee=class t{api=f(yn);runtimeStore=f(be);async initActiveSnapshot(){let n=await et(this.api.active());for(let e of n??[])this.runtimeStore.setRuntime(e)}static \u0275fac=function(e){return new(e||t)};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})};var Rn=t=>({$implicit:t});function Mo(t,n){t&1&&Re(0)}function bo(t,n){if(t&1&&p(0,"nz-icon",6),t&2){let e=c(2).$implicit;d("nzType",e.icon)}}function xo(t,n){t&1&&p(0,"nz-badge",7)}function wo(t,n){if(t&1){let e=z();r(0,"li",5),C("click",function(){g(e);let i=c().$implicit,a=c(2);return h(a.menuService.clickMenu(i))}),v(1,bo,1,1,"nz-icon",6),r(2,"span"),m(3),l(),v(4,xo,1,0,"nz-badge",7),l()}if(t&2){let e=c().$implicit,o=c(2);d("nzPaddingLeft",e.level*24)("nzDisabled",e.disabled)("nzSelected",o.menuService.isActive(e.path))("nz-tooltip",e.taskCountBadge===!0&&o.runningTaskCount()>0?o.runningTaskCount()+"\u4E2A\u4EFB\u52A1\u6B63\u5728\u8FD0\u884C":null),s(),y(e.icon?1:-1),s(2),T(e.title),s(),y(e.taskCountBadge===!0&&o.runningTaskCount()>0?4:-1)}}function So(t,n){t&1&&Re(0)}function Po(t,n){if(t&1&&(r(0,"li",4)(1,"ul"),P(2,So,1,0,"ng-container",2),l()()),t&2){let e=c().$implicit;c(2);let o=N(3);d("nzPaddingLeft",e.level*24)("nzOpen",e.open)("nzTitle",e.title)("nzIcon",e.icon)("nzDisabled",e.disabled),s(2),d("ngTemplateOutlet",o)("ngTemplateOutletContext",Ve(7,Rn,e.children))}}function To(t,n){if(t&1&&v(0,wo,5,7,"li",3)(1,Po,3,9,"li",4),t&2){let e=n.$implicit;y(e.children?1:0)}}function No(t,n){if(t&1&&E(0,To,2,1,null,null,xt),t&2){let e=n.$implicit;j(e)}}var je=class t{isCollapsed=!1;menus=[];menuService=f(De);taskBootstrap=f(Ee);runtimeStore=f(be);runningTaskCount=O(()=>this.runtimeStore.totalRunningCountSignal()());ngOnInit(){this.menus=this.menuService.getMenus(),this.taskBootstrap.initActiveSnapshot()}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=_({type:t,selectors:[["ngm-menu"]],inputs:{isCollapsed:"isCollapsed"},decls:4,vars:5,consts:[["menuTpl",""],["nz-menu","","nzMode","inline",3,"nzInlineCollapsed"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["nz-menu-item","","nzTooltipPlacement","right",3,"nzPaddingLeft","nzDisabled","nzSelected","nz-tooltip"],["nz-submenu","",3,"nzPaddingLeft","nzOpen","nzTitle","nzIcon","nzDisabled"],["nz-menu-item","","nzTooltipPlacement","right",3,"click","nzPaddingLeft","nzDisabled","nzSelected","nz-tooltip"],["nzTheme","outline",2,"font-size","18px",3,"nzType"],["nzStatus","processing",2,"margin-left","12px"]],template:function(e,o){if(e&1&&(r(0,"ul",1),P(1,Mo,1,0,"ng-container",2)(2,No,2,0,"ng-template",null,0,X),l()),e&2){let i=N(3);d("nzInlineCollapsed",o.isCollapsed),s(),d("ngTemplateOutlet",i)("ngTemplateOutletContext",Ve(3,Rn,o.menus))}},dependencies:[me,A,J,Q,dn,b,S,D,_e,Ce,Mn,zn],encapsulation:2})};function Eo(t,n){if(t&1){let e=z();r(0,"div",3)(1,"label",4),m(2,"\u540D\u79F0"),l(),r(3,"nz-input-wrapper")(4,"input",5),C("ngModelChange",function(i){g(e);let a=c(2);return h(a.projectState.editingProject().name=i)})("keydown.enter",function(){g(e);let i=c(2);return h(i.projectState.confirmEditProject())}),l(),p(5,"nz-icon",6),l(),r(6,"div",7),m(7,"\u8F93\u5165\u65B0\u540D\u79F0\uFF0C\u5C06\u540C\u6B65\u66F4\u65B0\u9879\u76EE\u663E\u793A\u540D\u79F0\uFF08\u4E0D\u4F1A\u91CD\u547D\u540D\u78C1\u76D8\u76EE\u5F55\uFF09\u3002"),l(),r(8,"label",4),m(9,"\u4ED3\u5E93\u7F51\u9875\u5730\u5740"),l(),r(10,"nz-input-wrapper")(11,"input",8),C("ngModelChange",function(i){g(e);let a=c(2);return h(a.projectState.editingProject().repoPageUrl=i)}),l(),p(12,"nz-icon",9),l(),r(13,"label",4),m(14,"\u63CF\u8FF0"),l(),r(15,"nz-input-wrapper")(16,"textarea",10),C("ngModelChange",function(i){g(e);let a=c(2);return h(a.projectState.editingProject().description=i)})("keydown.enter",function(){g(e);let i=c(2);return h(i.projectState.confirmEditProject())}),l()()()}if(t&2){let e=c(2);s(4),d("ngModel",e.editingProject().name),s(7),d("ngModel",e.editingProject().repoPageUrl),s(5),d("ngModel",e.editingProject().description)}}function jo(t,n){if(t&1&&(H(0),v(1,Eo,17,3,"div",3),U()),t&2){let e=c();s(),y(e.editingProject()?1:-1)}}function Io(t,n){if(t&1){let e=z();H(0),r(1,"button",11),C("click",function(){g(e);let i=c();return h(i.projectState.closeEditModal())}),m(2,"\u53D6\u6D88"),l(),r(3,"button",12),C("click",function(){g(e);let i=c();return h(i.projectState.confirmEditProject())}),m(4," \u786E\u5B9A "),l(),U()}if(t&2){let e,o=c();s(3),d("disabled",!(!((e=o.projectState.editingProject())==null||e.name==null)&&e.name.trim())||o.projectState.isEditSaving())("nzLoading",o.projectState.isEditSaving())}}var Ie=class t{projectState=f(te);editingProject=this.projectState.editingProject;static \u0275fac=function(e){return new(e||t)};static \u0275cmp=_({type:t,selectors:[["app-project-edit-modal"]],decls:3,vars:3,consts:[["nzTitle","\u7F16\u8F91\u9879\u76EE",3,"nzOnCancel","nzClosable","nzMaskClosable","nzVisible"],[4,"nzModalContent"],[4,"nzModalFooter"],[1,"modal-body"],[1,"label"],["nz-input","","placeholder","\u8BF7\u8F93\u5165\u65B0\u540D\u79F0","autofocus","",3,"ngModelChange","keydown.enter","ngModel"],["nzInputPrefix","","nzType","folder","nzTheme","fill"],[1,"hint"],["nz-input","","placeholder","\u4ED3\u5E93\u7F51\u9875\u5730\u5740",3,"ngModelChange","ngModel"],["nzInputPrefix","","nzType","global","nzTheme","outline"],["nz-input","","rows","3","placeholder","\u8BF7\u8F93\u5165\u65B0\u63CF\u8FF0",2,"resize","none",3,"ngModelChange","keydown.enter","ngModel"],["nz-button","",3,"click"],["nz-button","","nzType","primary",3,"click","disabled","nzLoading"]],template:function(e,o){e&1&&(r(0,"nz-modal",0),C("nzOnCancel",function(){return o.projectState.closeEditModal()}),P(1,jo,2,1,"ng-container",1)(2,Io,5,2,"ng-container",2),l()),e&2&&d("nzClosable",!1)("nzMaskClosable",!1)("nzVisible",o.projectState.isEditModalVisible())},dependencies:[L,he,ln,fe,ge,mn,cn,pn,sn,B,k,F,ue,ze,Cn,hn,gn,b,S],styles:[".modal-body[_ngcontent-%COMP%]{display:grid;gap:12px}.hint[_ngcontent-%COMP%]{font-size:12px;opacity:.75}"]})};var Lo=()=>({width:"100%"}),Vn=(t,n)=>n.id;function Fo(t,n){t&1&&p(0,"nz-icon",2)}function ko(t,n){if(t&1){let e=z();r(0,"li",7),p(1,"nz-icon",11),r(2,"span"),m(3,"\u6DFB\u52A0/\u53D6\u6D88\u6536\u85CF"),l(),r(4,"nz-switch",12),C("ngModelChange",function(){let i;g(e);let a=c();return h(a.projectState.toggleFavorite((i=a.projectState.currentProject())==null?null:i.id))}),l()(),r(5,"li",13),C("click",function(){let i;g(e);let a=c();return h(a.projectState.openInEditor((i=a.projectState.currentProject())==null?null:i.id))}),p(6,"nz-icon",14),r(7,"span"),m(8,"\u5728\u7F16\u8F91\u5668\u4E2D\u6253\u5F00"),l()(),r(9,"li",13),C("click",function(){g(e);let i=c();return h(i.projectState.openEditModal(i.projectState.currentProject()))}),p(10,"nz-icon",15),r(11,"span"),m(12,"\u7F16\u8F91\u9879\u76EE"),l()()}if(t&2){let e,o,i,a=c();s(),d("nzTheme",(e=a.projectState.currentProject())!=null&&e.isFavorite?"fill":"outline"),s(3),d("nzDisabled",!((o=a.projectState.currentProject())!=null&&o.id))("ngModel",(i=a.projectState.currentProject())==null?null:i.isFavorite)}}function Bo(t,n){if(t&1){let e=z();r(0,"li",13),C("click",function(){let i=g(e).$implicit,a=c();return h(a.projectState.selectProject(i))}),p(1,"nz-icon",16),r(2,"span"),m(3),l()()}if(t&2){let e=n.$implicit;s(3),T(e.name)}}function Ao(t,n){if(t&1){let e=z();r(0,"li",13),C("click",function(){let i=g(e).$implicit,a=c();return h(a.projectState.selectProject(i))}),p(1,"nz-icon",11),r(2,"span"),m(3),l()()}if(t&2){let e=n.$implicit;s(),d("nzTheme",e.isFavorite?"fill":"outline"),s(2),T(e.name)}}var Le=class t{constructor(n){this.projectState=n}isCollapsed=jt(!1);curProjectName=O(()=>{let n=this.projectState.currentProject()?.name||"\u8BF7\u9009\u62E9\u9879\u76EE";return this.isCollapsed()?n?.charAt(0).toUpperCase():n});ngOnInit(){this.projectState.getProjects()}static \u0275fac=function(e){return new(e||t)(le(te))};static \u0275cmp=_({type:t,selectors:[["ngm-project-nav"]],inputs:{isCollapsed:[1,"isCollapsed"]},outputs:{isCollapsed:"isCollapsedChange"},decls:23,vars:9,consts:[["menu","nzDropdownMenu"],["nz-button","","nzType","primary","nzSize","large","nz-dropdown","","nzTrigger","click",1,"project-quick-dropdown",3,"nzDropdownMenu","nzPlacement","nzOverlayStyle"],["nzType","down"],[2,"width","100%"],["nz-menu",""],["nz-menu-divider",""],["nz-menu-group","","nzTitle","\u6536\u85CF\u7684\u9879\u76EE"],["nz-menu-item","",1,"item"],["nz-menu-group","","nzTitle","\u6700\u8FD1\u4F7F\u7528"],["routerLink","/projects"],["nzType","project"],["nzType","star",3,"nzTheme"],[2,"margin-left","6px",3,"ngModelChange","nzDisabled","ngModel"],["nz-menu-item","",1,"item",3,"click"],["nzType","code"],["nzType","edit"],["nzType","star","nzTheme","fill"]],template:function(e,o){if(e&1&&(r(0,"button",1)(1,"span"),m(2),l(),v(3,Fo,1,0,"nz-icon",2),l(),r(4,"nz-dropdown-menu",3,0)(6,"ul",4),v(7,ko,13,3),p(8,"li",5)(9,"li",6),E(10,Bo,4,1,"li",7,Vn),p(12,"li",5)(13,"li",8),E(14,Ao,4,2,"li",7,Vn),p(16,"li",5),r(17,"li",7)(18,"a",9),p(19,"nz-icon",10),r(20,"span"),m(21,"\u9879\u76EE\u7BA1\u7406"),l()()()()(),p(22,"app-project-edit-modal")),e&2){let i=N(5);I("collapsed",o.isCollapsed()),d("nzDropdownMenu",i)("nzPlacement","bottomCenter")("nzOverlayStyle",pe(8,Lo)),s(2),T(o.curProjectName()),s(),y(o.isCollapsed()?-1:3),s(4),y(o.projectState.currentProject()?7:-1),s(3),j(o.projectState.favoriteProjects()),s(4),j(o.projectState.recentProjects())}},dependencies:[L,he,fe,ge,ee,J,Q,fn,un,K,ye,ve,A,b,S,vn,_n,B,k,F,ue,D,Z,Ie],styles:["[_nghost-%COMP%]{display:flex;padding:16px}[_nghost-%COMP%] .project-quick-dropdown[_ngcontent-%COMP%]{flex:1;width:100%;display:flex;align-items:center;gap:8px;justify-content:center;border-radius:20px;font-weight:500}[_nghost-%COMP%] .project-quick-dropdown[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item[_ngcontent-%COMP%] .ant-menu-title-content{display:flex;align-items:center;gap:8px;overflow:hidden}.item[_ngcontent-%COMP%] .ant-menu-title-content span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--app-text-color);display:flex;width:100%;align-items:center;gap:8px}"]})};var Fe=class t{router=f(G);state=f(Oe);isCollapsed=this.state.isCollapsed;constructor(){}isActive(n){return this.router.url.startsWith(n)}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=_({type:t,selectors:[["ngm-sidebar"]],hostVars:4,hostBindings:function(e,o){e&2&&I("collapsed",o.isCollapsed())("ant-layout-sider",!0)},decls:20,vars:5,consts:[["menu","nzDropdownMenu"],["nzCollapsible","","nzWidth","256px","nzBreakpoint","md",1,"menu-sidebar",3,"nzCollapsedChange","nzCollapsed","nzTrigger"],[1,"header"],[3,"isCollapsed"],[1,"content"],["nz-button","","nzType","link","nz-dropdown","","nzPlacement","bottomRight","nzTrigger","click",1,"more-btn",3,"nzDropdownMenu"],["nzType","more"],["nz-menu",""],["nz-menu-item","",1,"item"],["routerLink","/projects"],["nzType","project","nzTheme","outline"],["routerLink","/about"],["nzType","info-circle","nzTheme","outline"]],template:function(e,o){if(e&1){let i=z();r(0,"nz-sider",1),Nt("nzCollapsedChange",function(u){return g(i),Tt(o.isCollapsed,u)||(o.isCollapsed=u),h(u)}),r(1,"div",2),p(2,"ngm-project-nav",3),l(),r(3,"div",4),p(4,"ngm-menu",3),r(5,"button",5),p(6,"nz-icon",6),l()()(),r(7,"nz-dropdown-menu",null,0)(9,"ul",7)(10,"li",8)(11,"a",9),p(12,"nz-icon",10),r(13,"span"),m(14,"\u9879\u76EE\u7BA1\u7406"),l()()(),r(15,"li",8)(16,"a",11),p(17,"nz-icon",12),r(18,"span"),m(19,"\u5173\u4E8E"),l()()()()()}if(e&2){let i=N(8);Pt("nzCollapsed",o.isCollapsed),d("nzTrigger",null),s(2),d("isCollapsed",o.isCollapsed()),s(2),d("isCollapsed",o.isCollapsed()),s(),d("nzDropdownMenu",i)}},dependencies:[R,Sn,b,S,A,J,Q,je,Le,B,k,F,ee,K,ye,ve,D,Z],styles:["html.default[_ngcontent-%COMP%] [_ngcontent-%COMP%]:root{--app-gray: #e6f7ff;--app-primary: #1890ff;--app-primary-1: #e6f7ff;--app-primary-2: #bae7ff;--app-primary-3: #91d5ff;--app-primary-4: #69c0ff;--app-primary-5: #40a9ff;--app-primary-6: #1890ff;--app-text-color: rgba(0, 0, 0, .85);--app-text-secondary: rgba(0, 0, 0, .45);--text-color-primary: #1890ff;--app-component-bg: #fff;--app-border-color: #d9d9d9;--header-error-background: #ff4d4f}html.default[_ngcontent-%COMP%] [_ngcontent-%COMP%]:root{--text-color-gray: #888}html.default [_nghost-%COMP%] .sidebar-logo[_ngcontent-%COMP%]{background:var(--ant-primary-1)}html.default [_nghost-%COMP%] .sidebar-logo[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:var(--ant-text-color)}html.dark[_ngcontent-%COMP%] [_ngcontent-%COMP%]:root{--text-color-gray: #bbb}html.dark [_nghost-%COMP%] .sidebar-logo[_ngcontent-%COMP%]{background:var(--ant-primary-1)}html.dark [_nghost-%COMP%] .sidebar-logo[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{color:var(--ant-text-color)}[_nghost-%COMP%]{display:block;box-sizing:border-box;position:relative;z-index:10;box-shadow:2px 0 6px #00152959;width:256px;transition:all .2s;flex:0 0 auto}.collapsed[_nghost-%COMP%]{width:80px}.menu-sidebar[_ngcontent-%COMP%]{height:100%}.menu-sidebar[_ngcontent-%COMP%] .ant-layout-sider-children{display:flex;flex-direction:column;height:100%}.menu-sidebar[_ngcontent-%COMP%] .ant-menu-inline{border-right:none}.menu-sidebar[_ngcontent-%COMP%] .header[_ngcontent-%COMP%]{flex:0 0 auto}.menu-sidebar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{flex:1 1 auto;height:0;display:flex;flex-direction:column}.menu-sidebar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] ngm-menu[_ngcontent-%COMP%]{flex:1 1 auto;height:0}.menu-sidebar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{margin:12px;flex:0 0 auto}.menu-sidebar[_ngcontent-%COMP%] .content[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover{background-color:var(--app-primary-2)}.sidebar-logo[_ngcontent-%COMP%]{position:relative;height:64px;padding-left:24px;overflow:hidden;line-height:64px;transition:all .3s}.sidebar-logo[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{display:inline-block;height:32px;width:32px;vertical-align:middle}.sidebar-logo[_ngcontent-%COMP%] h1[_ngcontent-%COMP%]{display:inline-block;margin:0 0 0 20px;font-weight:600;font-size:14px;font-family:Avenir,Helvetica Neue,Arial,Helvetica,sans-serif;vertical-align:middle}.item[_ngcontent-%COMP%] .ant-menu-title-content{display:flex;align-items:center;gap:8px}.item[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--app-text-color);display:flex;width:100%;align-items:center;gap:8px}"]})};function Ro(t,n){if(t&1){let e=z();r(0,"div",4),C("transitionend",function(i){g(e);let a=c();return h(a.onWrapTransitionEnd(i))}),r(1,"div",5),C("animationend",function(i){g(e);let a=c();return h(a.onInnerAnimationEnd(i))}),p(2,"ngm-header"),l()()}if(t&2){let e=c();I("leaving",e.leaving()),s(),I("leaving",e.leaving())}}var ke=class t{ws=f(Me);constructor(){this.ws.connect(),ie(()=>this.syncVisible())}wsState=Qt(this.ws.stateChanges(),{initialValue:"idle"});shouldShow=O(()=>this.wsState()!=="open");visible=M(!1);leaving=M(!1);SHOW_DELAY_MS=200;showTimer;removed=!1;syncVisible(){if(this.shouldShow()){if(this.removed=!1,this.visible()){this.leaving.set(!1);return}this.startShowDelay();return}this.clearShowDelay(),this.visible()&&!this.leaving()&&this.leaving.set(!0)}startShowDelay(){this.showTimer||(this.showTimer=setTimeout(()=>{this.showTimer=void 0,this.shouldShow()&&(this.visible.set(!0),this.leaving.set(!1),this.removed=!1)},this.SHOW_DELAY_MS))}clearShowDelay(){this.showTimer&&(clearTimeout(this.showTimer),this.showTimer=void 0)}onInnerAnimationEnd(n){}onWrapTransitionEnd(n){n.propertyName==="height"&&(this.removed||!this.shouldShow()&&this.leaving()&&(this.removed=!0,this.visible.set(!1),this.leaving.set(!1)))}static \u0275fac=function(e){return new(e||t)};static \u0275cmp=_({type:t,selectors:[["ngm-layout"]],decls:9,vars:1,consts:[[1,"app-layout"],[1,"ws-banner-wrap",3,"leaving"],[1,"app-content"],[1,"inner-content"],[1,"ws-banner-wrap",3,"transitionend"],[1,"ws-banner-inner",3,"animationend"]],template:function(e,o){e&1&&(r(0,"nz-layout",0),v(1,Ro,3,4,"div",1),r(2,"nz-layout",2),p(3,"ngm-sidebar"),r(4,"nz-layout")(5,"nz-content")(6,"div",3),p(7,"router-outlet"),l()()()(),p(8,"ngm-footer"),l()),e&2&&(s(),y(o.visible()?1:-1))},dependencies:[D,$t,R,Pn,bn,Bn,b,A,Fe,Ne,Te],styles:["html.default[_ngcontent-%COMP%] [_ngcontent-%COMP%]:root{--app-gray: #e6f7ff;--app-primary: #1890ff;--app-primary-1: #e6f7ff;--app-primary-2: #bae7ff;--app-primary-3: #91d5ff;--app-primary-4: #69c0ff;--app-primary-5: #40a9ff;--app-primary-6: #1890ff;--app-text-color: rgba(0, 0, 0, .85);--app-text-secondary: rgba(0, 0, 0, .45);--text-color-primary: #1890ff;--app-component-bg: #fff;--app-border-color: #d9d9d9;--header-error-background: #ff4d4f}html.default[_ngcontent-%COMP%] [_ngcontent-%COMP%]:root{--text-color-gray: #888}html.default [_nghost-%COMP%] .inner-content[_ngcontent-%COMP%]{background:#fff}html.dark[_ngcontent-%COMP%] [_ngcontent-%COMP%]:root{--text-color-gray: #bbb}html.dark [_nghost-%COMP%] .inner-content[_ngcontent-%COMP%]{background:#141414}[_nghost-%COMP%]{display:flex;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}[_nghost-%COMP%] .app-layout[_ngcontent-%COMP%]{height:100vh;width:100%}[_nghost-%COMP%] .app-layout[_ngcontent-%COMP%] ngm-header[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] .app-content[_ngcontent-%COMP%]{flex-direction:row}[_nghost-%COMP%] nz-content[_ngcontent-%COMP%] .inner-content[_ngcontent-%COMP%]{border-radius:8px;height:100%}[_nghost-%COMP%] nz-footer[_ngcontent-%COMP%]{text-align:center}.ws-banner-wrap[_ngcontent-%COMP%]{height:48px;overflow:hidden;transition:height .35s ease}.ws-banner-wrap.leaving[_ngcontent-%COMP%]{height:0}.ws-banner-inner[_ngcontent-%COMP%]{height:48px;display:flex;align-items:stretch}.ws-banner-inner.leaving[_ngcontent-%COMP%]{animation:_ngcontent-%COMP%_fadeOutUpSoft .35s ease forwards}@keyframes _ngcontent-%COMP%_fadeOutUpSoft{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-30%)}}"]})};var Wn=`
|
|
2
|
+
<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
+
<path d="M435.8 536.2H512V353z" fill="#DD0031"/>
|
|
4
|
+
<path d="M400.9 616.8l-52.4 130.8h-97.2L512 163V64L94.9 212.7l63.6 551.5L512 960V616.8z" fill="#DD0031"/>
|
|
5
|
+
<path d="M512 353v183.2h76.2z" fill="#C3002F"/>
|
|
6
|
+
<path d="M512 64v99l259.8 584.6h-97.2l-52.4-130.8H512V960l353.5-195.8 63.6-551.5z" fill="#C3002F"/>
|
|
7
|
+
</svg>
|
|
8
|
+
`,Hn=`
|
|
9
|
+
<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
|
|
10
|
+
<path d="M615.6 123.6h165.5L512 589.7 242.9 123.6H63.5L512 900.4l448.5-776.9z" fill="#41B883"/>
|
|
11
|
+
<path d="M781.1 123.6H615.6L512 303 408.4 123.6H242.9L512 589.7z" fill="#34495E"/>
|
|
12
|
+
</svg>
|
|
13
|
+
`,Un=`
|
|
14
|
+
<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">
|
|
15
|
+
<svg t="1767603739899" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="9231" width="200" height="200">
|
|
16
|
+
<path d="M512 511.8m-80 0a80 80 0 1 0 160 0 80 80 0 1 0-160 0Z" fill="#61DAFB" p-id="9232"></path>
|
|
17
|
+
<path d="M960.5 511.8c0-62.8-73.8-117.2-188.5-150.1 28.9-115.8 18.7-206.9-35.7-238.3-54.5-31.4-138.5 5.3-224.3 88.2-85.8-82.9-169.8-119.6-224.3-88.2-54.4 31.4-64.6 122.6-35.7 238.3C137.3 394.6 63.5 449 63.5 511.8S137.3 629 252 661.9c-28.9 115.7-18.7 206.9 35.7 238.3 13.4 7.8 28.6 11.6 45.2 11.6 39.7 0 87.8-21.8 140-64.2 13-10.6 26.1-22.6 39.1-35.2 13 12.6 26.1 24.6 39.1 35.2 52.2 42.4 100.2 64.2 140 64.2 16.6 0 31.8-3.8 45.2-11.6 54.4-31.4 64.6-122.5 35.7-238.3 114.7-32.9 188.5-87.3 188.5-150.1zM716.8 157.2c35.3 20.4 42.7 94.3 17.6 194.8-36.7-8.4-76.7-14.7-119.3-18.6-24.7-34.9-50.2-66.4-75.8-94 59.2-57.3 114.2-88.4 152-88.4 9.6-0.1 18.2 2 25.5 6.2zM637 584c-13.8 24-28.4 47-43.3 69-26.1 2-53.3 3.1-81.7 3.1-28.3 0-55.5-1.1-81.6-3.1-15-22-29.5-45.1-43.3-69-14.1-24.5-26.7-48.6-38.1-72.2 11.4-23.6 24-47.7 38.1-72.2 14.1-24.5 28.7-47.4 43.4-69.1 26.1-2 53.3-3.1 81.6-3.1 28.3 0 55.5 1.1 81.6 3.1 14.7 21.6 29.3 44.6 43.4 69 14.1 24.5 26.7 48.6 38.1 72.2-11.5 23.7-24.1 47.8-38.2 72.3z m58.8-26.4c11.2 26.6 20.4 52.1 28 76.5-24.9 5.6-51.7 10.4-80.3 14 9.3-14.5 18.4-29.3 27.3-44.6 8.8-15.4 17.1-30.7 25-45.9zM512 756.5c-17.7-19.2-35.1-40.1-52.2-62.6 17.1 0.8 34.5 1.3 52.2 1.3 17.7 0 35.1-0.5 52.2-1.3-17.1 22.5-34.5 43.4-52.2 62.6zM380.5 648.1c-28.6-3.6-55.3-8.4-80.3-14 7.6-24.4 16.8-49.9 28-76.5 7.9 15.2 16.1 30.5 25 45.9 8.9 15.2 18 30 27.3 44.6zM328.2 466c-11.2-26.6-20.4-52.1-28-76.5 24.9-5.6 51.6-10.4 80.2-14-9.2 14.4-18.4 29.2-27.2 44.6-8.8 15.4-17.1 30.7-25 45.9zM512 267.1c17.3 18.7 34.8 39.8 52.1 62.7-17.1-0.8-34.4-1.3-52.1-1.3-17.7 0-35 0.5-52.1 1.3 17.3-22.9 34.8-44 52.1-62.7z m158.7 153c-8.9-15.3-18-30.1-27.2-44.6 28.6 3.6 55.3 8.4 80.2 14-7.6 24.4-16.8 49.9-28 76.5-7.8-15.2-16.1-30.5-25-45.9zM307.2 157.2c7.2-4.2 15.8-6.2 25.6-6.2 37.8 0 92.7 31.1 151.9 88.4-25.6 27.6-51.1 59.2-75.8 94-42.5 3.9-82.6 10.2-119.3 18.6-25.1-100.6-17.6-174.5 17.6-194.8zM102.5 511.8c0-40.8 60.3-84.2 160-112.6 11.1 36 25.6 73.8 43.5 112.6-17.8 38.8-32.4 76.6-43.5 112.6-99.7-28.4-160-71.9-160-112.6z m345.8 305.5c-59.7 48.5-111.1 66.4-141.1 49.2-35.3-20.4-42.7-94.3-17.6-194.8 36.7 8.4 76.7 14.7 119.3 18.6 24.4 34.5 49.9 66.1 75.8 94.2-12.1 11.7-24.2 22.9-36.4 32.8z m268.5 49.2c-29.9 17.3-81.4-0.6-141.1-49.2-12.1-9.9-24.3-21.1-36.5-32.8 26-28.1 51.4-59.7 75.8-94.2 42.5-3.9 82.6-10.2 119.3-18.7 25.2 100.6 17.7 174.5-17.5 194.9z m44.8-242.1c-11.1-36-25.6-73.8-43.5-112.6 17.8-38.8 32.4-76.6 43.5-112.6 99.7 28.5 160 71.9 160 112.6-0.1 40.7-60.4 84.2-160 112.6z" fill="#61DAFB" p-id="9233"></path></svg>
|
|
18
|
+
</svg>
|
|
19
|
+
`,$n=`
|
|
20
|
+
<svg t="1767598826450" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="8231" width="200" height="200">
|
|
21
|
+
<path d="M875.2 262.3L546.7 72.7c-20.7-11.8-48.3-11.8-69 0L148.8 262.3c-21.5 12.2-34.5 34.9-34.5 59.7v379.2c0 24.8 13.4 47.9 34.5 60.1l86.1 49.5c41.8 20.7 56.8 20.7 75.9 20.7 62.1 0 97.4-37.8 97.4-102.7V354.4c0-5.3-4.1-9.3-9.3-9.3h-41.4c-5.3 0-9.3 4.1-9.3 9.3v374.3c0 28.8-30 57.7-78.8 33.3l-90.1-52c-3.2-2-5.3-5.3-5.3-8.9V321.9c0-3.7 2-7.3 5.3-8.9l328.1-190c3.2-1.6 7.3-1.6 10.2 0l328.5 189.6c3.2 1.6 5.3 5.3 5.3 8.9v379.2c0 3.7-2 7.3-4.9 8.9L517.9 899.3c-2.8 1.6-7.3 1.6-10.2 0l-84.4-49.9c-2.4-1.2-5.7-1.6-8.1-0.4-23.1 13.4-27.6 15-49.5 22.7-5.7 1.6-13.4 4.9 2.8 14.2l109.6 65c10.6 6.1 22.3 9.3 34.5 9.3 11.8-0.4 24-3.2 34.1-9.7l328.5-189.6c21.1-12.2 34.5-34.9 34.5-59.7V321.9c0-24.3-13.4-47.5-34.5-59.6z" fill="#689F63" p-id="8232"></path>
|
|
22
|
+
<path d="M614.1 641.1c-86.9 0-106-21.9-112.5-65-0.8-4.9-4.5-8.1-9.3-8.1h-42.6c-5.3 0-9.3 4.1-9.3 9.3 0 55.2 30 121.4 173.8 121.4l-0.4-0.4c103.9 0 163.6-41 163.6-112.5 0-70.6-47.9-89.7-149-103.1-101.9-13.4-112.5-20.3-112.5-44.3 0-19.5 8.9-45.9 84.4-45.9 67.8 0 92.6 14.6 102.7 60.1 1.2 4.1 4.9 7.3 9.3 7.3H755c2.4 0 5.3-0.8 6.9-2.8 1.6-2 2.8-4.5 2.4-7.3-6.9-78.4-58.9-114.9-164-114.9-93.4 0-149.4 39.4-149.4 105.6 0 71.9 55.6 91.8 145.8 100.7 107.6 10.6 116.1 26.4 116.1 47.5 0 36.5-29.3 52.4-98.7 52.4z" fill="#689F63" p-id="8233"></path>
|
|
23
|
+
</svg>
|
|
24
|
+
`,Gn=`
|
|
25
|
+
<svg t="1768726164973" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="4725" width="200" height="200">
|
|
26
|
+
<path d="M332.72493 412.535453l171.001167-98.72725a13.830826 13.830826 0 0 1 13.83424 0l171.007994 98.72725a13.841066 13.841066 0 0 1 6.915413 11.9808v197.4545a13.858133 13.858133 0 0 1-6.918826 11.980799l-171.004581 98.72725a13.830826 13.830826 0 0 1-13.83424 0l-171.001167-98.72725a13.841066 13.841066 0 0 1-6.915413-11.980799V424.516253a13.847893 13.847893 0 0 1 6.915413-11.9808" fill="#7986CB" p-id="4726"></path>
|
|
27
|
+
<path d="M955.265709 502.476783L750.950409 147.036155c-7.420586-12.8512-21.128533-22.330026-35.969705-22.330026H306.329624c-14.844586 0-28.555946 9.478826-35.976532 22.330026L66.037792 501.701957c-7.420586 12.854613-7.420586 29.081599 0 41.932798L270.353092 896.170637c7.420586 12.8512 21.131946 19.421866 35.976532 19.421866h408.65108c14.83776 0 28.552532-6.372693 35.969705-19.227306l204.3153-353.109322c7.427413-12.847786 7.427413-27.921066 0-40.768852m-169.181861 170.922661c0 5.2224-3.14368 10.059093-7.676586 12.673706l-260.249592 150.152529a14.80704 14.80704 0 0 1-14.725119 0l-260.450978-150.152529c-4.52608-2.614613-7.693653-7.44448-7.693653-12.673706v-300.30847c0-5.229226 3.119787-10.059093 7.649279-12.677119l260.242765-150.152529a14.779733 14.779733 0 0 1 14.71488 0l260.471458 150.152529c4.529493 2.618027 7.717546 7.447893 7.717546 12.677119z" fill="#3F51B5" p-id="4727"></path>
|
|
28
|
+
</svg>
|
|
29
|
+
`;var Be=class t{constructor(n){this.icons=n}inited=!1;init(){this.inited||(this.inited=!0,this.icons.addIconLiteral("proj:angular",Wn),this.icons.addIconLiteral("proj:vue",Hn),this.icons.addIconLiteral("proj:react",Un),this.icons.addIconLiteral("proj:node",$n),this.icons.addIconLiteral("proj:eslint",Gn))}static \u0275fac=function(e){return new(e||t)(re(Jt))};static \u0275prov=w({token:t,factory:t.\u0275fac,providedIn:"root"})};var Ae=class t{constructor(n){n.init()}static \u0275fac=function(e){return new(e||t)(le(Be))};static \u0275cmp=_({type:t,selectors:[["app-root"]],decls:1,vars:0,template:function(e,o){e&1&&p(0,"ngm-layout")},dependencies:[ke],styles:["[_nghost-%COMP%]{display:block;height:100vh}"]})};Rt(Ae,Ln).catch(t=>console.error(t));
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import{a as ai}from"./chunk-PYGKDDJK.js";import"./chunk-5IUYSJVD.js";import{c as qe}from"./chunk-EC33AXSR.js";import{b as Ke,d as ii}from"./chunk-5MHC25IS.js";import{d as si,e as ni,f as oi}from"./chunk-DUC7XBYN.js";import{e as Je}from"./chunk-ROB7EMN5.js";import{c as ri,d as li}from"./chunk-A2SBXP7A.js";import"./chunk-SNCDDYQR.js";import{A as Jt,B as Zt,I as ei,g as Qt,i as Ze,j as ti,y as Kt,z as qt}from"./chunk-FPDGZ3ZC.js";import{Ab as Mt,Bb as Gt,Cb as $t,Fb as jt,Hb as Ut,M as L,N as F,T as Ue,U as Qe,V as B,W as X,Y,Z as O,jb as zt,lb as mt,pb as pt,vb as gt,yb as Yt}from"./chunk-PTMJ422K.js";import"./chunk-HFZLJHYR.js";import{c as Xe,h as Ye,i as D,o as Ge,y as je}from"./chunk-53YRDYLS.js";import{$b as K,$c as Be,Bc as Oe,Cc as We,Eb as T,Ec as Ne,Fc as xt,Ha as S,Ic as f,J as ke,Jc as A,Kb as At,Kc as _t,Mc as ht,Nc as dt,Oa as nt,Oc as ct,Q as Se,Ra as St,Vb as b,Xb as _,Yb as ge,Zc as Le,_b as Q,a as P,ac as p,b as j,bc as l,cc as h,da as Pe,dc as m,ea as me,ec as V,ed as Ve,fc as N,fd as R,gd as He,hc as tt,ic as et,kb as Re,kc as M,l as Ht,ma as It,mb as d,md as Ae,qc as z,ra as k,rb as ot,rd as Xt,sb as pe,sc as rt,tc as c,ub as Fe,uc as Dt,va as De,vc as bt,wa as Ee,xa as w,xb as Pt,ya as x,yb as U,z as ce}from"./chunk-SJG2JCPL.js";var te=class n{api=k(Qt);getInfo(e){return this.api.get(`/api/dashboard/getInfo/${e}`)}update(e,t){return this.api.post(`/api/dashboard/update/${e}`,t)}widgets(e){return this.api.get(`/api/dashboard/widgets/${e}`)}addWidget(e,t){let{x:i,y:s}=t;return this.api.get(`/api/dashboard/addWidget/${e}/${t.widgetKey}/${i}/${s}`)}removeWidget(e,t){return this.api.delete(`/api/dashboard/removeWidget/${e}/${t}`)}updateItemConfig(e,t,i){return this.api.post(`/api/dashboard/updateItemConfig/${e}/${t}`,i)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=It({token:n,factory:n.\u0275fac,providedIn:"root"})};var it=class n{localKey(e){return`${Ze.dashboard.layout}.${e}`}local=k(ti);api=k(te);_doc=S(null);items=R(()=>this._doc()?.items??[]);updatedAt=R(()=>this._doc()?.updatedAt??0);widgets=S([]);saveTimer=null;async load(e){try{let t=await ce(this.api.getInfo(e));this._doc.set(t),this.local.set(this.localKey(e),t);return}catch{let t=this.local.get(this.localKey(e),null);if(t){this._doc.set(t);return}this._doc.set({version:1,projectId:e,updatedAt:Date.now(),items:[]})}}setItems(e,t){let i=this._doc();i&&(this._doc.set(j(P({},i),{items:t})),this.scheduleAutoSave(e))}scheduleAutoSave(e,t=1e4){this.saveTimer&&clearTimeout(this.saveTimer),this.saveTimer=setTimeout(()=>{this.flushSave(e).catch(()=>{})},t)}async flushSave(e){this.saveTimer&&(clearTimeout(this.saveTimer),this.saveTimer=null);let t=this._doc();if(!t)return;this.local.set(this.localKey(e),t);let i=await ce(this.api.update(e,t));this._doc.set(i),this.local.set(this.localKey(e),i)}add(e){let t=this._doc();t&&setTimeout(()=>{let{x:i,y:s}=e;this.api.addWidget(t.projectId,{widgetKey:e.key,x:i,y:s}).subscribe(o=>{this._doc.set(o),this.local.set(this.localKey(t.projectId),o),this.getWidgets()})},0)}remove(e){let t=this._doc();t&&this.api.removeWidget(t.projectId,e).subscribe(i=>{this._doc.set(i),this.local.set(this.localKey(t.projectId),i),this.getWidgets()})}getWidgets(){let e=this._doc();e&&this.api.widgets(e.projectId).subscribe(t=>{this.widgets.set(t)})}updateConfig(e,t,i){let s=this._doc();s&&this.api.updateItemConfig(e,t,i).subscribe(o=>{this._doc.set(o),this.local.set(this.localKey(s.projectId),o)})}static \u0275fac=function(t){return new(t||n)};static \u0275prov=It({token:n,factory:n.\u0275fac,providedIn:"root"})};var _i=(n,e)=>e.key;function zi(n,e){if(n&1){let t=M();l(0,"div",5)(1,"div",6)(2,"div",7),m(3,"nz-icon",8),h(),l(4,"div",9)(5,"div",10),f(6),h(),l(7,"div",11),f(8),h()(),l(9,"div",12)(10,"button",13),z("click",function(){let s=w(t).$implicit,o=c();return x(o.addWidget(s))}),m(11,"nz-icon",14),h()()()()}if(n&2){let t=e.$implicit;d(3),p("nzType",t.icon||"appstore"),d(3),A(t.title),d(2),A(t.desc)}}var ee=class n{layout=k(it);add=new ot;keyword=S("");widgets=this.layout.widgets;filtered=R(()=>{let e=this.keyword().trim().toLowerCase();return e?this.widgets().filter(t=>(t.title+(t.desc??"")).toLowerCase().includes(e)):this.widgets()});constructor(){}addWidget(e){this.add.emit(e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["app-add-widget-drawer"]],outputs:{add:"add"},decls:8,vars:1,consts:[[1,"list"],[1,"topbar"],["nzInputPrefix","","nzType","search",1,"search-icon"],["nz-input","","placeholder","",3,"ngModelChange","ngModel"],[1,"items"],[1,"item"],[1,"row"],[1,"icon"],["nzTheme","outline",3,"nzType"],[1,"info"],[1,"name"],[1,"description"],[1,"actions"],["nz-button","","nzType","primary","nzSize","small","nzTooltip","\u6DFB\u52A0\u90E8\u4EF6",3,"click"],["nzType","plus"]],template:function(t,i){t&1&&(l(0,"div",0)(1,"div",1)(2,"nz-input-wrapper"),m(3,"nz-icon",2),l(4,"input",3),z("ngModelChange",function(o){return i.keyword.set(o)}),h()()(),l(5,"div",4),Q(6,zi,12,3,"div",5,_i),h()()),t&2&&(d(4),p("ngModel",i.keyword()),d(2),K(i.filtered()))},dependencies:[D,gt,zt,mt,pt,F,L,$t,Mt,Gt,Yt,O,Y,B,X,Ut],styles:[".list[_ngcontent-%COMP%]{height:100%;width:100%;display:flex;flex-direction:column}.list[_ngcontent-%COMP%] .topbar[_ngcontent-%COMP%]{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;padding:10px 16px}.list[_ngcontent-%COMP%] .topbar[_ngcontent-%COMP%] nz-input-wrapper[_ngcontent-%COMP%]{width:100%;border-radius:18px}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%]{flex:1 1 auto;overflow:auto;height:0;display:flex;flex-direction:column;gap:8px;padding:8px;overflow-x:hidden;overflow-y:auto}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]{border-radius:3px;padding:10px;cursor:pointer}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%]:hover, .list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item.active[_ngcontent-%COMP%]{background:var(--app-primary-3)}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:center;overflow:hidden;justify-content:space-between}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{font-size:28px;flex:0 0 auto;position:relative;border-radius:50%;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--app-primary-1)}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;overflow:hidden}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:13px;color:var(--app-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list[_ngcontent-%COMP%] .items[_ngcontent-%COMP%] .item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{flex:0 0 auto}"],changeDetection:0})};var mi=["*"];function Mi(n,e){if(n&1&&m(0,"div",0),n&2){let t=e.$index,i=c();p("ngStyle",i.gridRenderer.getGridColumnStyle(t))}}function $i(n,e){if(n&1&&m(0,"div",1),n&2){let t=e.$index,i=c();p("ngStyle",i.gridRenderer.getGridRowStyle(t))}}function Ti(n,e){if(n&1){let t=M();V(0,"div",8),rt("mousedown",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))})("touchstart",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))}),N()}}function ki(n,e){if(n&1){let t=M();V(0,"div",9),rt("mousedown",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))})("touchstart",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))}),N()}}function Si(n,e){if(n&1){let t=M();V(0,"div",10),rt("mousedown",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))})("touchstart",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))}),N()}}function Pi(n,e){if(n&1){let t=M();V(0,"div",11),rt("mousedown",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))})("touchstart",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))}),N()}}function Di(n,e){if(n&1){let t=M();V(0,"div",12),rt("mousedown",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))})("touchstart",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))}),N()}}function Ei(n,e){if(n&1){let t=M();V(0,"div",13),rt("mousedown",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))})("touchstart",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))}),N()}}function Ri(n,e){if(n&1){let t=M();V(0,"div",14),rt("mousedown",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))})("touchstart",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))}),N()}}function Fi(n,e){if(n&1){let t=M();V(0,"div",15),rt("mousedown",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))})("touchstart",function(s){w(t);let o=c();return x(o.resize.dragStartDelay(s))}),N()}}var g=(function(n){return n.Fit="fit",n.ScrollVertical="scrollVertical",n.ScrollHorizontal="scrollHorizontal",n.Fixed="fixed",n.VerticalFixed="verticalFixed",n.HorizontalFixed="horizontalFixed",n})(g||{}),se=(function(n){return n.Always="always",n.OnDragAndResize="onDrag&Resize",n.None="none",n})(se||{}),v=(function(n){return n.None="none",n.CompactUp="compactUp",n.CompactLeft="compactLeft",n.CompactUpAndLeft="compactUp&Left",n.CompactLeftAndUp="compactLeft&Up",n.CompactRight="compactRight",n.CompactUpAndRight="compactUp&Right",n.CompactRightAndUp="compactRight&Up",n.CompactDown="compactDown",n.CompactDownAndLeft="compactDown&Left",n.CompactLeftAndDown="compactLeft&Down",n.CompactDownAndRight="compactDown&Right",n.CompactRightAndDown="compactRight&Down",n.CompactGrid="compactGrid",n})(v||{}),E=(function(n){return n.LTR="ltr",n.RTL="rtl",n})(E||{}),Ce=class{gridster;constructor(e){this.gridster=e}destroy(){this.gridster=null}checkCompact(){this.gridster.$options.compactType!==v.None&&(this.gridster.$options.compactType===v.CompactUp?this.checkCompactMovement("y",-1):this.gridster.$options.compactType===v.CompactLeft?this.checkCompactMovement("x",-1):this.gridster.$options.compactType===v.CompactUpAndLeft?(this.checkCompactMovement("y",-1),this.checkCompactMovement("x",-1)):this.gridster.$options.compactType===v.CompactLeftAndUp?(this.checkCompactMovement("x",-1),this.checkCompactMovement("y",-1)):this.gridster.$options.compactType===v.CompactRight?this.checkCompactMovement("x",1):this.gridster.$options.compactType===v.CompactUpAndRight?(this.checkCompactMovement("y",-1),this.checkCompactMovement("x",1)):this.gridster.$options.compactType===v.CompactRightAndUp?(this.checkCompactMovement("x",1),this.checkCompactMovement("y",-1)):this.gridster.$options.compactType===v.CompactDown?this.checkCompactMovement("y",1):this.gridster.$options.compactType===v.CompactDownAndLeft?(this.checkCompactMovement("y",1),this.checkCompactMovement("x",-1)):this.gridster.$options.compactType===v.CompactDownAndRight?(this.checkCompactMovement("y",1),this.checkCompactMovement("x",1)):this.gridster.$options.compactType===v.CompactLeftAndDown?(this.checkCompactMovement("x",-1),this.checkCompactMovement("y",1)):this.gridster.$options.compactType===v.CompactRightAndDown?(this.checkCompactMovement("x",1),this.checkCompactMovement("y",1)):this.gridster.$options.compactType===v.CompactGrid&&this.checkCompactGrid())}checkCompactItem(e){this.gridster.$options.compactType!==v.None&&(this.gridster.$options.compactType===v.CompactUp?this.moveTillCollision(e,"y",-1):this.gridster.$options.compactType===v.CompactLeft?this.moveTillCollision(e,"x",-1):this.gridster.$options.compactType===v.CompactUpAndLeft?(this.moveTillCollision(e,"y",-1),this.moveTillCollision(e,"x",-1)):this.gridster.$options.compactType===v.CompactLeftAndUp?(this.moveTillCollision(e,"x",-1),this.moveTillCollision(e,"y",-1)):this.gridster.$options.compactType===v.CompactUpAndRight?(this.moveTillCollision(e,"y",-1),this.moveTillCollision(e,"x",1)):this.gridster.$options.compactType===v.CompactDown?this.moveTillCollision(e,"y",1):this.gridster.$options.compactType===v.CompactDownAndLeft?(this.moveTillCollision(e,"y",1),this.moveTillCollision(e,"x",-1)):this.gridster.$options.compactType===v.CompactLeftAndDown?(this.moveTillCollision(e,"x",-1),this.moveTillCollision(e,"y",1)):this.gridster.$options.compactType===v.CompactDownAndRight?(this.moveTillCollision(e,"y",1),this.moveTillCollision(e,"x",1)):this.gridster.$options.compactType===v.CompactRightAndDown?(this.moveTillCollision(e,"x",1),this.moveTillCollision(e,"y",1)):this.gridster.$options.compactType===v.CompactGrid&&this.moveToGridPosition(e))}checkCompactMovement(e,t){let i=!1;this.gridster.grid.forEach(s=>{s.$item.compactEnabled!==!1&&this.moveTillCollision(s.$item,e,t)&&(i=!0,s.item[e]=s.$item[e],s.itemChanged())}),i&&this.checkCompact()}moveTillCollision(e,t,i){return e[t]+=i,this.gridster.checkCollision(e)?(e[t]-=i,!1):(this.moveTillCollision(e,t,i),!0)}checkCompactGrid(){let e=this.gridster.grid.filter(o=>o.$item.compactEnabled!==!1).sort((o,r)=>o.$item.y!==r.$item.y?o.$item.y-r.$item.y:o.$item.x-r.$item.x),t=0,i=0,s=0;e.forEach(o=>{let r=o.$item;i+r.cols>this.gridster.columns&&(t=s,i=0,s=t);let a=r.x,C=r.y;r.x=i,r.y=t,(a!==r.x||C!==r.y)&&(o.item.x=r.x,o.item.y=r.y,o.itemChanged()),i+=r.cols,s=Math.max(s,t+r.rows)})}moveToGridPosition(e){let t=0,i=0,s=0,o=this.gridster.grid.filter(r=>r.$item!==e).sort((r,a)=>r.$item.y!==a.$item.y?r.$item.y-a.$item.y:r.$item.x-a.$item.x);for(let r of o){let a=r.$item;i+a.cols>this.gridster.columns&&(t=s,i=0,s=t),t<a.y+a.rows&&t+e.rows>a.y&&i<a.x+a.cols&&i+e.cols>a.x?(i=a.x+a.cols,t=a.y,s=Math.max(s,t+a.rows)):(i+=a.cols,s=Math.max(s,t+a.rows))}i+e.cols>this.gridster.columns&&(t=s,i=0),e.x=i,e.y=t}},Oi={gridType:g.Fit,scale:1,fixedColWidth:250,fixedRowHeight:250,keepFixedHeightInMobile:!1,keepFixedWidthInMobile:!1,setGridSize:!1,compactType:v.None,mobileBreakpoint:640,useBodyForBreakpoint:!1,allowMultiLayer:!1,defaultLayerIndex:0,maxLayerIndex:2,baseLayerIndex:1,minCols:1,maxCols:100,minRows:1,maxRows:100,defaultItemCols:1,defaultItemRows:1,itemAspectRatio:void 0,maxItemCols:50,maxItemRows:50,minItemCols:1,minItemRows:1,minItemArea:1,maxItemArea:2500,addEmptyRowsCount:0,rowHeightRatio:1,margin:10,outerMargin:!0,outerMarginTop:null,outerMarginRight:null,outerMarginBottom:null,outerMarginLeft:null,useTransformPositioning:!0,scrollSensitivity:10,scrollSpeed:20,initCallback:void 0,destroyCallback:void 0,gridSizeChangedCallback:void 0,itemChangeCallback:void 0,itemResizeCallback:void 0,itemInitCallback:void 0,itemRemovedCallback:void 0,itemValidateCallback:void 0,enableEmptyCellClick:!1,enableEmptyCellContextMenu:!1,enableEmptyCellDrop:!1,enableEmptyCellDrag:!1,enableOccupiedCellDrop:!1,emptyCellClickCallback:void 0,emptyCellContextMenuCallback:void 0,emptyCellDropCallback:void 0,emptyCellDragCallback:void 0,emptyCellDragMaxCols:50,emptyCellDragMaxRows:50,ignoreMarginInRow:!1,draggable:{delayStart:0,enabled:!1,ignoreContentClass:"gridster-item-content",ignoreContent:!1,dragHandleClass:"drag-handler",stop:void 0,start:void 0,dropOverItems:!1,dropOverItemsCallback:void 0},resizable:{delayStart:0,enabled:!1,handles:{s:!0,e:!0,n:!0,w:!0,se:!0,ne:!0,sw:!0,nw:!0},stop:void 0,start:void 0},swap:!0,swapWhileDragging:!1,pushItems:!1,disablePushOnDrag:!1,disablePushOnResize:!1,pushDirections:{north:!0,east:!0,south:!0,west:!0},pushResizeItems:!1,displayGrid:se.OnDragAndResize,disableWindowResize:!1,disableWarnings:!1,scrollToNewItems:!1,disableScrollHorizontal:!1,disableScrollVertical:!1,enableBoundaryControl:!1,disableAutoPositionOnConflict:!1,dirType:E.LTR},W=class n{static merge(e,t,i){for(let s in t)t[s]!==void 0&&i.hasOwnProperty(s)&&(typeof t[s]=="object"?(s in e||(e[s]={}),e[s]=n.merge(e[s],t[s],i[s])):e[s]=t[s]);return e}static checkTouchEvent(e){e.clientX===void 0&&e.touches&&(e.touches&&e.touches.length?(e.clientX=e.touches[0].clientX,e.clientY=e.touches[0].clientY):e.changedTouches&&e.changedTouches.length&&(e.clientX=e.changedTouches[0].clientX,e.clientY=e.changedTouches[0].clientY))}static checkContentClassForEvent(e,t){if(e.$options.draggable.ignoreContent){if(!n.checkDragHandleClass(t.target,t.currentTarget,e.$options.draggable.dragHandleClass,e.$options.draggable.ignoreContentClass))return!0}else if(n.checkContentClass(t.target,t.currentTarget,e.$options.draggable.ignoreContentClass))return!0;return!1}static checkContentClassForEmptyCellClickEvent(e,t){return n.checkContentClass(t.target,t.currentTarget,e.$options.draggable.ignoreContentClass)||n.checkContentClass(t.target,t.currentTarget,e.$options.draggable.dragHandleClass)}static checkDragHandleClass(e,t,i,s){if(!e||e===t)return!1;if(e.hasAttribute("class")){let o=e.getAttribute("class").split(" ");if(o.indexOf(i)>-1)return!0;if(o.indexOf(s)>-1)return!1}return n.checkDragHandleClass(e.parentNode,t,i,s)}static checkContentClass(e,t,i){return!e||e===t?!1:e.hasAttribute("class")&&e.getAttribute("class").split(" ").indexOf(i)>-1?!0:n.checkContentClass(e.parentNode,t,i)}static compareItems(e,t){return e.y>t.y?-1:e.y<t.y?1:e.x>t.x?-1:1}},ye=class{gridster;initialItem;removeEmptyCellClickListenerFn;removeEmptyCellTouchendListenerFn;removeEmptyCellContextMenuListenerFn;removeEmptyCellDropListenerFn;removeEmptyCellMousedownListenerFn;removeEmptyCellTouchstartListenerFn;removeWindowMousemoveListenerFn;removeWindowTouchmoveListenerFn;removeWindowMouseupListenerFn;removeWindowTouchendListenerFn;removeEmptyCellDragoverListenerFn;removeDocumentDragendListenerFn;constructor(e){this.gridster=e}destroy(){this.gridster.previewStyle&&this.gridster.previewStyle(),this.gridster.movingItem=null,this.initialItem=this.gridster=null,this.removeDocumentDragendListenerFn&&(this.removeDocumentDragendListenerFn(),this.removeDocumentDragendListenerFn=null)}updateOptions(){this.gridster.$options.enableEmptyCellClick&&!this.removeEmptyCellClickListenerFn&&this.gridster.options.emptyCellClickCallback?(this.removeEmptyCellClickListenerFn=this.gridster.renderer.listen(this.gridster.el,"click",this.emptyCellClickCb),this.removeEmptyCellTouchendListenerFn=this.gridster.renderer.listen(this.gridster.el,"touchend",this.emptyCellClickCb)):!this.gridster.$options.enableEmptyCellClick&&this.removeEmptyCellClickListenerFn&&this.removeEmptyCellTouchendListenerFn&&(this.removeEmptyCellClickListenerFn(),this.removeEmptyCellTouchendListenerFn(),this.removeEmptyCellClickListenerFn=null,this.removeEmptyCellTouchendListenerFn=null),this.gridster.$options.enableEmptyCellContextMenu&&!this.removeEmptyCellContextMenuListenerFn&&this.gridster.options.emptyCellContextMenuCallback?this.removeEmptyCellContextMenuListenerFn=this.gridster.renderer.listen(this.gridster.el,"contextmenu",this.emptyCellContextMenuCb):!this.gridster.$options.enableEmptyCellContextMenu&&this.removeEmptyCellContextMenuListenerFn&&(this.removeEmptyCellContextMenuListenerFn(),this.removeEmptyCellContextMenuListenerFn=null),this.gridster.$options.enableEmptyCellDrop&&!this.removeEmptyCellDropListenerFn&&this.gridster.options.emptyCellDropCallback?(this.removeEmptyCellDropListenerFn=this.gridster.renderer.listen(this.gridster.el,"drop",this.emptyCellDragDrop),this.gridster.zone.runOutsideAngular(()=>{this.removeEmptyCellDragoverListenerFn=this.gridster.renderer.listen(this.gridster.el,"dragover",this.emptyCellDragOver)}),this.removeDocumentDragendListenerFn=this.gridster.renderer.listen("document","dragend",()=>{this.gridster.movingItem=null,this.gridster.previewStyle()})):!this.gridster.$options.enableEmptyCellDrop&&this.removeEmptyCellDropListenerFn&&this.removeEmptyCellDragoverListenerFn&&this.removeDocumentDragendListenerFn&&(this.removeEmptyCellDropListenerFn(),this.removeEmptyCellDragoverListenerFn(),this.removeDocumentDragendListenerFn(),this.removeEmptyCellDragoverListenerFn=null,this.removeEmptyCellDropListenerFn=null,this.removeDocumentDragendListenerFn=null),this.gridster.$options.enableEmptyCellDrag&&!this.removeEmptyCellMousedownListenerFn&&this.gridster.options.emptyCellDragCallback?(this.removeEmptyCellMousedownListenerFn=this.gridster.renderer.listen(this.gridster.el,"mousedown",this.emptyCellMouseDown),this.removeEmptyCellTouchstartListenerFn=this.gridster.renderer.listen(this.gridster.el,"touchstart",this.emptyCellMouseDown)):!this.gridster.$options.enableEmptyCellDrag&&this.removeEmptyCellMousedownListenerFn&&this.removeEmptyCellTouchstartListenerFn&&(this.removeEmptyCellMousedownListenerFn(),this.removeEmptyCellTouchstartListenerFn(),this.removeEmptyCellMousedownListenerFn=null,this.removeEmptyCellTouchstartListenerFn=null)}emptyCellClickCb=e=>{if(!this.gridster||this.gridster.movingItem||W.checkContentClassForEmptyCellClickEvent(this.gridster,e))return;let t=this.getValidItemFromEvent(e);t&&(this.gridster.options.emptyCellClickCallback&&this.gridster.options.emptyCellClickCallback(e,t),this.gridster.cdRef.markForCheck())};emptyCellContextMenuCb=e=>{if(this.gridster.movingItem||W.checkContentClassForEmptyCellClickEvent(this.gridster,e))return;e.preventDefault(),e.stopPropagation();let t=this.getValidItemFromEvent(e);t&&(this.gridster.options.emptyCellContextMenuCallback&&this.gridster.options.emptyCellContextMenuCallback(e,t),this.gridster.cdRef.markForCheck())};emptyCellDragDrop=e=>{let t=this.getValidItemFromEvent(e);t&&(this.gridster.options.emptyCellDropCallback&&this.gridster.options.emptyCellDropCallback(e,t),this.gridster.cdRef.markForCheck())};emptyCellDragOver=e=>{e.preventDefault(),e.stopPropagation();let t=this.getValidItemFromEvent(e);t?(e.dataTransfer&&(e.dataTransfer.dropEffect="move"),this.gridster.movingItem=t):(e.dataTransfer&&(e.dataTransfer.dropEffect="none"),this.gridster.movingItem=null),this.gridster.previewStyle()};emptyCellMouseDown=e=>{if(W.checkContentClassForEmptyCellClickEvent(this.gridster,e))return;e.preventDefault(),e.stopPropagation();let t=this.getValidItemFromEvent(e);!t||e.buttons!==1&&!(e instanceof TouchEvent)||(this.initialItem=t,this.gridster.movingItem=t,this.gridster.previewStyle(),this.gridster.zone.runOutsideAngular(()=>{this.removeWindowMousemoveListenerFn=this.gridster.renderer.listen("window","mousemove",this.emptyCellMouseMove),this.removeWindowTouchmoveListenerFn=this.gridster.renderer.listen("window","touchmove",this.emptyCellMouseMove)}),this.removeWindowMouseupListenerFn=this.gridster.renderer.listen("window","mouseup",this.emptyCellMouseUp),this.removeWindowTouchendListenerFn=this.gridster.renderer.listen("window","touchend",this.emptyCellMouseUp))};emptyCellMouseMove=e=>{e.preventDefault(),e.stopPropagation();let t=this.getValidItemFromEvent(e,this.initialItem);t&&(this.gridster.movingItem=t,this.gridster.previewStyle())};emptyCellMouseUp=e=>{this.removeWindowMousemoveListenerFn(),this.removeWindowTouchmoveListenerFn(),this.removeWindowMouseupListenerFn(),this.removeWindowTouchendListenerFn();let t=this.getValidItemFromEvent(e,this.initialItem);t&&(this.gridster.movingItem=t),this.gridster.options.emptyCellDragCallback&&this.gridster.movingItem&&this.gridster.options.emptyCellDragCallback(e,this.gridster.movingItem),setTimeout(()=>{this.initialItem=null,this.gridster&&(this.gridster.movingItem=null,this.gridster.previewStyle())}),this.gridster.cdRef.markForCheck()};getPixelsX(e,t){let i=this.gridster.options.scale;return i?(e.clientX-t.left)/i+this.gridster.el.scrollLeft-this.gridster.gridRenderer.getLeftMargin():e.clientX+this.gridster.el.scrollLeft-t.left-this.gridster.gridRenderer.getLeftMargin()}getPixelsY(e,t){let i=this.gridster.options.scale;return i?(e.clientY-t.top)/i+this.gridster.el.scrollTop-this.gridster.gridRenderer.getTopMargin():e.clientY+this.gridster.el.scrollTop-t.top-this.gridster.gridRenderer.getTopMargin()}getValidItemFromEvent(e,t){e.preventDefault(),e.stopPropagation(),W.checkTouchEvent(e);let i=this.gridster.el.getBoundingClientRect(),s=this.getPixelsX(e,i),o=this.getPixelsY(e,i),r={x:this.gridster.pixelsToPositionX(s,Math.floor,!0),y:this.gridster.pixelsToPositionY(o,Math.floor,!0),cols:this.gridster.$options.defaultItemCols,rows:this.gridster.$options.defaultItemRows};if(t&&(r.cols=Math.min(Math.abs(t.x-r.x)+1,this.gridster.$options.emptyCellDragMaxCols),r.rows=Math.min(Math.abs(t.y-r.y)+1,this.gridster.$options.emptyCellDragMaxRows),t.x<r.x?r.x=t.x:t.x-r.x>this.gridster.$options.emptyCellDragMaxCols-1&&(r.x=this.gridster.movingItem?this.gridster.movingItem.x:0),t.y<r.y?r.y=t.y:t.y-r.y>this.gridster.$options.emptyCellDragMaxRows-1&&(r.y=this.gridster.movingItem?this.gridster.movingItem.y:0)),!(!this.gridster.$options.enableOccupiedCellDrop&&this.gridster.checkCollision(r)))return r}},we=class{gridster;lastGridColumnStyles={};lastGridRowStyles={};constructor(e){this.gridster=e}destroy(){this.gridster=null}updateItem(e,t,i){if(this.gridster.mobile)this.clearCellPosition(i,e),this.gridster.$options.keepFixedHeightInMobile?i.setStyle(e,"height",(t.rows-1)*this.gridster.$options.margin+t.rows*this.gridster.$options.fixedRowHeight+"px"):i.setStyle(e,"height",t.rows*this.gridster.curWidth/t.cols+"px"),this.gridster.$options.keepFixedWidthInMobile?i.setStyle(e,"width",this.gridster.$options.fixedColWidth+"px"):i.setStyle(e,"width",""),i.setStyle(e,"margin-bottom",this.gridster.$options.margin+"px"),i.setStyle(e,E.LTR?"margin-right":"margin-left","");else{let s=Math.round(this.gridster.curColWidth*t.x),o=Math.round(this.gridster.curRowHeight*t.y),r=this.gridster.curColWidth*t.cols-this.gridster.$options.margin,a=this.gridster.curRowHeight*t.rows-this.gridster.$options.margin;this.setCellPosition(i,e,s,o),i.setStyle(e,"width",r+"px"),i.setStyle(e,"height",a+"px");let C=null,u=null;this.gridster.$options.outerMargin&&(this.gridster.rows===t.rows+t.y&&(this.gridster.$options.outerMarginBottom!==null?C=this.gridster.$options.outerMarginBottom+"px":C=this.gridster.$options.margin+"px"),this.gridster.columns===t.cols+t.x&&(this.gridster.$options.outerMarginBottom!==null?u=this.gridster.$options.outerMarginRight+"px":u=this.gridster.$options.margin+"px")),i.setStyle(e,"margin-bottom",C),i.setStyle(e,this.gridster.$options.dirType===E.LTR?"margin-right":"margin-left",u)}}updateGridster(){let e="",t="",i="",s="";if(this.gridster.$options.gridType===g.Fit)e=g.Fit,t=g.ScrollVertical,i=g.ScrollHorizontal,s=g.Fixed;else if(this.gridster.$options.gridType===g.ScrollVertical)this.gridster.curRowHeight=this.gridster.curColWidth*this.gridster.$options.rowHeightRatio,e=g.ScrollVertical,t=g.Fit,i=g.ScrollHorizontal,s=g.Fixed;else if(this.gridster.$options.gridType===g.ScrollHorizontal){let o=this.gridster.$options.rowHeightRatio,r=o>=1?o:o+1;this.gridster.curColWidth=this.gridster.curRowHeight*r,e=g.ScrollHorizontal,t=g.Fit,i=g.ScrollVertical,s=g.Fixed}else this.gridster.$options.gridType===g.Fixed?(this.gridster.curColWidth=this.gridster.$options.fixedColWidth+(this.gridster.$options.ignoreMarginInRow?0:this.gridster.$options.margin),this.gridster.curRowHeight=this.gridster.$options.fixedRowHeight+(this.gridster.$options.ignoreMarginInRow?0:this.gridster.$options.margin),e=g.Fixed,t=g.Fit,i=g.ScrollVertical,s=g.ScrollHorizontal):this.gridster.$options.gridType===g.VerticalFixed?(this.gridster.curRowHeight=this.gridster.$options.fixedRowHeight+(this.gridster.$options.ignoreMarginInRow?0:this.gridster.$options.margin),e=g.ScrollVertical,t=g.Fit,i=g.ScrollHorizontal,s=g.Fixed):this.gridster.$options.gridType===g.HorizontalFixed&&(this.gridster.curColWidth=this.gridster.$options.fixedColWidth+(this.gridster.$options.ignoreMarginInRow?0:this.gridster.$options.margin),e=g.ScrollHorizontal,t=g.Fit,i=g.ScrollVertical,s=g.Fixed);this.gridster.mobile||this.gridster.$options.setGridSize&&this.gridster.$options.gridType!==g.Fit?this.gridster.renderer.removeClass(this.gridster.el,e):this.gridster.renderer.addClass(this.gridster.el,e),this.gridster.renderer.removeClass(this.gridster.el,t),this.gridster.renderer.removeClass(this.gridster.el,i),this.gridster.renderer.removeClass(this.gridster.el,s)}getGridColumnStyle(e){let t={left:this.gridster.curColWidth*e,width:this.gridster.curColWidth-this.gridster.$options.margin,height:this.gridster.gridRows.length*this.gridster.curRowHeight-this.gridster.$options.margin,style:{}};t.style=j(P({},this.getLeftPosition(t.left)),{width:t.width+"px",height:t.height+"px"});let i=this.lastGridColumnStyles[e];return i&&i.left===t.left&&i.width===t.width&&i.height===t.height?i.style:(this.lastGridColumnStyles[e]=t,t.style)}getGridRowStyle(e){let t={top:this.gridster.curRowHeight*e,width:this.gridster.gridColumns.length*this.gridster.curColWidth+this.gridster.$options.margin,height:this.gridster.curRowHeight-this.gridster.$options.margin,style:{}};t.style=j(P({},this.getTopPosition(t.top)),{width:t.width+"px",height:t.height+"px"});let i=this.lastGridRowStyles[e];return i&&i.top===t.top&&i.width===t.width&&i.height===t.height?i.style:(this.lastGridRowStyles[e]=t,t.style)}getLeftPosition(e){let t=this.gridster.$options.dirType===E.RTL?-e:e;return this.gridster.$options.useTransformPositioning?{transform:"translateX("+t+"px)"}:{left:this.getLeftMargin()+t+"px"}}getTopPosition(e){return this.gridster.$options.useTransformPositioning?{transform:"translateY("+e+"px)"}:{top:this.getTopMargin()+e+"px"}}clearCellPosition(e,t){this.gridster.$options.useTransformPositioning?e.setStyle(t,"transform",""):(e.setStyle(t,"top",""),e.setStyle(t,"left",""))}setCellPosition(e,t,i,s){let o=this.gridster.$options.dirType===E.RTL?-i:i;if(this.gridster.$options.useTransformPositioning){let r="translate3d("+o+"px, "+s+"px, 0)";e.setStyle(t,"transform",r)}else e.setStyle(t,"left",this.getLeftMargin()+o+"px"),e.setStyle(t,"top",this.getTopMargin()+s+"px")}getLeftMargin(){return this.gridster.$options.outerMargin?this.gridster.$options.outerMarginLeft!==null?this.gridster.$options.outerMarginLeft:this.gridster.$options.margin:0}getTopMargin(){return this.gridster.$options.outerMargin?this.gridster.$options.outerMarginTop!==null?this.gridster.$options.outerMarginTop:this.gridster.$options.margin:0}},fe=(()=>{class n{renderer;gridRenderer;el;constructor(t,i){this.renderer=i,this.el=t.nativeElement}previewStyle(t){t?(this.renderer.setStyle(this.el,"display","block"),this.gridRenderer.updateItem(this.el,t,this.renderer)):this.renderer.setStyle(this.el,"display","")}static \u0275fac=function(i){return new(i||n)(U(St),U(Pt))};static \u0275cmp=T({type:n,selectors:[["gridster-preview"]],inputs:{gridRenderer:"gridRenderer"},decls:0,vars:0,template:function(i,s){},styles:[`gridster-preview{position:absolute;display:none;background:#00000026}
|
|
2
|
-
`],encapsulation:2})}return n})(),_e=(()=>{class n{renderer;cdRef;zone;gridsterPreview=Ae.required(fe);options;movingItem;el;$options;mobile;curWidth;curHeight;grid;columns=0;rows=0;curColWidth;curRowHeight;gridColumns=[];gridRows=[];windowResize;dragInProgress;emptyCell;compact;gridRenderer;calculateLayout$=new Ht;resize$=new Ht;destroy$=new Ht;constructor(t,i,s,o){this.renderer=i,this.cdRef=s,this.zone=o,this.el=t.nativeElement,this.$options=JSON.parse(JSON.stringify(Oi)),this.mobile=!1,this.curWidth=0,this.curHeight=0,this.grid=[],this.curColWidth=0,this.curRowHeight=0,this.dragInProgress=!1,this.emptyCell=new ye(this),this.compact=new Ce(this),this.gridRenderer=new we(this)}static checkCollisionTwoItemsForSwaping(t,i){let s=t.cols===1?0:1,o=i.cols===1?0:1,r=t.rows===1?0:1,a=i.rows===1?0:1;return t.x+s<i.x+i.cols&&t.x+t.cols>i.x+o&&t.y+r<i.y+i.rows&&t.y+t.rows>i.y+a}checkCollisionTwoItems(t,i){if(!(t.x<i.x+i.cols&&t.x+t.cols>i.x&&t.y<i.y+i.rows&&t.y+t.rows>i.y))return!1;if(!this.$options.allowMultiLayer)return!0;let o=this.$options.defaultLayerIndex,r=t.layerIndex===void 0?o:t.layerIndex,a=i.layerIndex===void 0?o:i.layerIndex;return r===a}ngOnInit(){this.options.initCallback&&this.options.initCallback(this),this.calculateLayout$.pipe(Se(0),me(this.destroy$)).subscribe(()=>this.calculateLayout()),this.resize$.pipe(Pe(()=>ke(100)),me(this.destroy$)).subscribe(()=>this.resize())}ngOnChanges(t){t.options&&(this.setOptions(),this.options.api={optionsChanged:this.optionsChanged,resize:this.onResize,getNextPossiblePosition:this.getNextPossiblePosition,getFirstPossiblePosition:this.getFirstPossiblePosition,getLastPossiblePosition:this.getLastPossiblePosition,getItemComponent:i=>this.getItemComponent(i)},this.columns=this.$options.minCols,this.rows=this.$options.minRows+this.$options.addEmptyRowsCount,this.setGridSize(),this.calculateLayout())}resize(){let t,i;this.$options.gridType==="fit"&&!this.mobile?(i=this.el.offsetWidth,t=this.el.offsetHeight):(i=this.el.clientWidth,t=this.el.clientHeight),(i!==this.curWidth||t!==this.curHeight)&&this.checkIfToResize()&&this.onResize()}setOptions(){this.$options=W.merge(this.$options,this.options,this.$options),!this.$options.disableWindowResize&&!this.windowResize?this.windowResize=this.renderer.listen("window","resize",this.onResize):this.$options.disableWindowResize&&this.windowResize&&(this.windowResize(),this.windowResize=null),this.emptyCell.updateOptions()}optionsChanged=()=>{this.setOptions();let t=this.grid.length-1,i;for(;t>=0;t--)i=this.grid[t],i.updateOptions();this.calculateLayout()};ngOnDestroy(){this.destroy$.next(),this.windowResize&&this.windowResize(),this.options&&this.options.destroyCallback&&this.options.destroyCallback(this),this.options&&this.options.api&&(this.options.api.resize=void 0,this.options.api.optionsChanged=void 0,this.options.api.getNextPossiblePosition=void 0,this.options.api=void 0),this.emptyCell.destroy(),this.emptyCell=null,this.compact.destroy(),this.compact=null}onResize=()=>{this.el.clientWidth&&(this.options.setGridSize&&(this.renderer.setStyle(this.el,"width",""),this.renderer.setStyle(this.el,"height","")),this.setGridSize(),this.calculateLayout())};checkIfToResize(){let t=this.el.clientWidth,i=this.el.offsetWidth,s=this.el.scrollWidth,o=this.el.clientHeight,r=this.el.offsetHeight,a=this.el.scrollHeight,C=t<i&&a>r&&a-r<i-t,u=o<r&&s>i&&s-i<r-o;return C?!1:!u}checkIfMobile(){return this.$options.useBodyForBreakpoint?this.$options.mobileBreakpoint>document.body.clientWidth:this.$options.mobileBreakpoint>this.curWidth}setGridSize(){let t=this.el,i,s;this.$options.setGridSize||this.$options.gridType===g.Fit&&!this.mobile?(i=t.offsetWidth,s=t.offsetHeight):(i=t.clientWidth,s=t.clientHeight),this.curWidth=i,this.curHeight=s}setGridDimensions(){this.setGridSize(),!this.mobile&&this.checkIfMobile()?(this.mobile=!this.mobile,this.renderer.addClass(this.el,"mobile")):this.mobile&&!this.checkIfMobile()&&(this.mobile=!this.mobile,this.renderer.removeClass(this.el,"mobile"));let t=this.$options.minRows,i=this.$options.minCols,s=this.grid.length-1,o;for(;s>=0;s--)o=this.grid[s],o.notPlaced||(t=Math.max(t,o.$item.y+o.$item.rows),i=Math.max(i,o.$item.x+o.$item.cols));t+=this.$options.addEmptyRowsCount,(this.columns!==i||this.rows!==t)&&(this.columns=i,this.rows=t,this.options.gridSizeChangedCallback&&this.options.gridSizeChangedCallback(this))}calculateLayout(){if(this.compact&&this.compact.checkCompact(),this.setGridDimensions(),this.$options.outerMargin){let s=-this.$options.margin;this.$options.outerMarginLeft!==null?(s+=this.$options.outerMarginLeft,this.renderer.setStyle(this.el,"padding-left",this.$options.outerMarginLeft+"px")):(s+=this.$options.margin,this.renderer.setStyle(this.el,"padding-left",this.$options.margin+"px")),this.$options.outerMarginRight!==null?(s+=this.$options.outerMarginRight,this.renderer.setStyle(this.el,"padding-right",this.$options.outerMarginRight+"px")):(s+=this.$options.margin,this.renderer.setStyle(this.el,"padding-right",this.$options.margin+"px")),this.curColWidth=(this.curWidth-s)/this.columns;let o=-this.$options.margin;this.$options.outerMarginTop!==null?(o+=this.$options.outerMarginTop,this.renderer.setStyle(this.el,"padding-top",this.$options.outerMarginTop+"px")):(o+=this.$options.margin,this.renderer.setStyle(this.el,"padding-top",this.$options.margin+"px")),this.$options.outerMarginBottom!==null?(o+=this.$options.outerMarginBottom,this.renderer.setStyle(this.el,"padding-bottom",this.$options.outerMarginBottom+"px")):(o+=this.$options.margin,this.renderer.setStyle(this.el,"padding-bottom",this.$options.margin+"px")),this.curRowHeight=(this.curHeight-o)/this.rows*this.$options.rowHeightRatio}else this.curColWidth=(this.curWidth+this.$options.margin)/this.columns,this.curRowHeight=(this.curHeight+this.$options.margin)/this.rows*this.$options.rowHeightRatio,this.renderer.setStyle(this.el,"padding-left","0px"),this.renderer.setStyle(this.el,"padding-right","0px"),this.renderer.setStyle(this.el,"padding-top","0px"),this.renderer.setStyle(this.el,"padding-bottom","0px");this.gridRenderer.updateGridster(),this.$options.setGridSize?(this.renderer.addClass(this.el,"gridSize"),this.mobile||(this.renderer.setStyle(this.el,"width",this.columns*this.curColWidth+this.$options.margin+"px"),this.renderer.setStyle(this.el,"height",this.rows*this.curRowHeight+this.$options.margin+"px"))):(this.renderer.removeClass(this.el,"gridSize"),this.renderer.setStyle(this.el,"width",""),this.renderer.setStyle(this.el,"height","")),this.updateGrid();let t=this.grid.length-1,i;for(;t>=0;t--)i=this.grid[t],i.setSize(),i.drag.toggle(),i.resize.toggle();this.resize$.next()}updateGrid(){this.$options.displayGrid==="always"&&!this.mobile?this.renderer.addClass(this.el,"display-grid"):this.$options.displayGrid==="onDrag&Resize"&&this.dragInProgress?this.renderer.addClass(this.el,"display-grid"):(this.$options.displayGrid==="none"||!this.dragInProgress||this.mobile)&&this.renderer.removeClass(this.el,"display-grid"),this.setGridDimensions(),this.gridColumns.length=n.getNewArrayLength(this.columns,this.curWidth,this.curColWidth),this.gridRows.length=n.getNewArrayLength(this.rows,this.curHeight,this.curRowHeight),this.cdRef.markForCheck()}addItem(t){t.$item.cols===void 0&&(t.$item.cols=this.$options.defaultItemCols,t.item.cols=t.$item.cols,t.itemChanged()),t.$item.rows===void 0&&(t.$item.rows=this.$options.defaultItemRows,t.item.rows=t.$item.rows,t.itemChanged()),t.$item.x===-1||t.$item.y===-1?this.autoPositionItem(t):this.checkCollision(t.$item)&&(this.$options.disableWarnings||(t.notPlaced=!0,console.warn("Can't be placed in the bounds of the dashboard, trying to auto position!/n"+JSON.stringify(t.item,["cols","rows","x","y"]))),this.$options.disableAutoPositionOnConflict?t.notPlaced=!0:this.autoPositionItem(t)),this.grid.push(t),this.calculateLayout$.next()}removeItem(t){this.grid.splice(this.grid.indexOf(t),1),this.calculateLayout$.next(),this.options.itemRemovedCallback&&this.options.itemRemovedCallback(t.item,t),this.movingItem&&this.movingItem===t.$item&&(this.movingItem=null,this.previewStyle())}checkCollision(t,i){let s=!1;if(this.options.itemValidateCallback&&(s=!this.options.itemValidateCallback(t)),!s&&this.checkGridCollision(t,i)&&(s=!0),!s){let o=this.findItemWithItem(t);o&&(s=o)}return s}checkGridCollision(t,i=!1){let s=t.y>-1&&t.x>-1,o=t.cols+t.x<=this.$options.maxCols,r=t.rows+t.y<=this.$options.maxRows,a=t.maxItemCols===void 0?this.$options.maxItemCols:t.maxItemCols,C=t.minItemCols===void 0?this.$options.minItemCols:t.minItemCols,u=t.maxItemRows===void 0?this.$options.maxItemRows:t.maxItemRows,$=t.minItemRows===void 0?this.$options.minItemRows:t.minItemRows,y=t.cols<=a&&t.cols>=C,I=t.rows<=u&&t.rows>=$,J=!0;if(i){let yt=t.itemAspectRatio||this.$options.itemAspectRatio;yt&&(J=t.cols/t.rows===yt)}let ft=t.minItemArea===void 0?this.$options.minItemArea:t.minItemArea,Ct=t.maxItemArea===void 0?this.$options.maxItemArea:t.maxItemArea,Z=t.cols*t.rows,at=ft<=Z,vt=Ct>=Z;return!(s&&o&&r&&J&&y&&I&&at&&vt)}findItemWithItem(t){let i=0,s;for(;i<this.grid.length;i++)if(s=this.grid[i],s.$item!==t&&this.checkCollisionTwoItems(s.$item,t))return s;return!1}findItemsWithItem(t){let i=[],s=0,o;for(;s<this.grid.length;s++)o=this.grid[s],o.$item!==t&&this.checkCollisionTwoItems(o.$item,t)&&i.push(o);return i}autoPositionItem(t){this.getNextPossiblePosition(t.$item)?(t.notPlaced=!1,t.item.x=t.$item.x,t.item.y=t.$item.y,t.itemChanged()):(t.notPlaced=!0,this.$options.disableWarnings||console.warn("Can't be placed in the bounds of the dashboard!/n"+JSON.stringify(t.item,["cols","rows","x","y"])))}getNextPossiblePosition=(t,i={})=>{t.cols===-1&&(t.cols=this.$options.defaultItemCols),t.rows===-1&&(t.rows=this.$options.defaultItemRows),this.setGridDimensions();let s=i.y||0,o;for(;s<this.rows;s++)for(t.y=s,o=i.x||0;o<this.columns;o++)if(t.x=o,!this.checkCollision(t))return!0;let r=this.$options.maxRows>=this.rows+t.rows,a=this.$options.maxCols>=this.columns+t.cols;return!(this.rows<=this.columns&&r)&&a?(t.x=this.columns,t.y=0,!0):r?(t.y=this.rows,t.x=0,!0):!1};getFirstPossiblePosition=t=>{let i=Object.assign({},t);return this.getNextPossiblePosition(i),i};getLastPossiblePosition=t=>{let i={y:0,x:0};i=this.grid.reduce((o,r)=>{let a={y:r.$item.y+r.$item.rows-1,x:r.$item.x+r.$item.cols-1};return W.compareItems(o,a)===1?a:o},i);let s=Object.assign({},t);return this.getNextPossiblePosition(s,i),s};pixelsToPositionX(t,i,s){let o=i(t/this.curColWidth);return s?o:Math.max(o,0)}pixelsToPositionY(t,i,s){let o=i(t/this.curRowHeight);return s?o:Math.max(o,0)}positionXToPixels(t){return t*this.curColWidth}positionYToPixels(t){return t*this.curRowHeight}getItemComponent(t){return this.grid.find(i=>i.item===t)}checkCollisionForSwaping(t){let i=!1;if(this.options.itemValidateCallback&&(i=!this.options.itemValidateCallback(t)),!i&&this.checkGridCollision(t)&&(i=!0),!i){let s=this.findItemWithItemForSwapping(t);s&&(i=s)}return i}findItemWithItemForSwapping(t){let i=this.grid.length-1,s;for(;i>-1;i--)if(s=this.grid[i],s.$item!==t&&n.checkCollisionTwoItemsForSwaping(s.$item,t))return s;return!1}previewStyle(t=!1){let i=this.gridsterPreview();this.movingItem?(this.compact&&t&&this.compact.checkCompactItem(this.movingItem),i.previewStyle(this.movingItem)):i.previewStyle(null)}static getNewArrayLength(t,i,s){let o=Math.max(t,Math.floor(i/s));return o<0?0:Number.isFinite(o)?Math.floor(o):0}static \u0275fac=function(i){return new(i||n)(U(St),U(Pt),U(Xt),U(pe))};static \u0275cmp=T({type:n,selectors:[["gridster"]],viewQuery:function(i,s){i&1&&Oe(s.gridsterPreview,fe,5),i&2&&We()},inputs:{options:"options"},features:[nt],ngContentSelectors:mi,decls:6,vars:1,consts:[[1,"gridster-column",3,"ngStyle"],[1,"gridster-row",3,"ngStyle"],[1,"gridster-preview",3,"gridRenderer"]],template:function(i,s){i&1&&(Dt(),Q(0,Mi,1,1,"div",0,ge),Q(2,$i,1,1,"div",1,ge),bt(4),m(5,"gridster-preview",2)),i&2&&(K(s.gridColumns),d(2),K(s.gridRows),d(3),p("gridRenderer",s.gridRenderer))},dependencies:[Xe,fe],styles:[`gridster{position:relative;box-sizing:border-box;background:gray;width:100%;height:100%;-webkit-user-select:none;user-select:none;display:block}gridster.fit{overflow-x:hidden;overflow-y:hidden}gridster.scrollVertical{overflow-x:hidden;overflow-y:auto}gridster.scrollHorizontal{overflow-x:auto;overflow-y:hidden}gridster.fixed{overflow:auto}gridster.mobile{overflow-x:hidden;overflow-y:auto}gridster.mobile gridster-item{position:relative}gridster.gridSize{height:initial;width:initial}gridster.gridSize.fit{height:100%;width:100%}gridster .gridster-column,gridster .gridster-row{position:absolute;display:none;transition:.3s;box-sizing:border-box}gridster.display-grid .gridster-column,gridster.display-grid .gridster-row{display:block}gridster .gridster-column{border-left:1px solid white;border-right:1px solid white}gridster .gridster-row{border-top:1px solid white;border-bottom:1px solid white}
|
|
3
|
-
`],encapsulation:2})}return n})(),ie=class{fromSouth;fromNorth;fromEast;fromWest;pushedItems;pushedItemsTemp;pushedItemsTempPath;pushedItemsPath;gridsterItem;gridster;pushedItemsOrder;tryPattern;iteration=0;constructor(e){this.pushedItems=[],this.pushedItemsTemp=[],this.pushedItemsTempPath=[],this.pushedItemsPath=[],this.gridsterItem=e,this.gridster=e.gridster,this.tryPattern={fromEast:[this.tryWest,this.trySouth,this.tryNorth,this.tryEast],fromWest:[this.tryEast,this.trySouth,this.tryNorth,this.tryWest],fromNorth:[this.trySouth,this.tryEast,this.tryWest,this.tryNorth],fromSouth:[this.tryNorth,this.tryEast,this.tryWest,this.trySouth]},this.fromSouth="fromSouth",this.fromNorth="fromNorth",this.fromEast="fromEast",this.fromWest="fromWest"}destroy(){this.gridster=this.gridsterItem=null}pushItems(e,t){if(this.gridster.$options.pushItems&&!t){this.pushedItemsOrder=[],this.iteration=0;let i=this.push(this.gridsterItem,e);return i||this.restoreTempItems(),this.pushedItemsOrder=[],this.pushedItemsTemp=[],this.pushedItemsTempPath=[],i}else return!1}restoreTempItems(){let e=this.pushedItemsTemp.length-1;for(;e>-1;e--)this.removeFromTempPushed(this.pushedItemsTemp[e])}restoreItems(){let e=0,t=this.pushedItems.length,i;for(;e<t;e++)i=this.pushedItems[e],i.$item.x=i.item.x||0,i.$item.y=i.item.y||0,i.setSize();this.pushedItems=[],this.pushedItemsPath=[]}setPushedItems(){let e=0,t=this.pushedItems.length,i;for(;e<t;e++)i=this.pushedItems[e],i.checkItemChanges(i.$item,i.item);this.pushedItems=[],this.pushedItemsPath=[]}checkPushBack(){let e=this.pushedItems.length-1,t=!1;for(;e>-1;e--)this.checkPushedItem(this.pushedItems[e],e)&&(t=!0);t&&this.checkPushBack()}push(e,t){if(this.iteration>100)return console.warn("max iteration reached"),!1;if(this.gridster.checkGridCollision(e.$item)||t==="")return!1;let i=this.gridster.findItemsWithItem(e.$item),s=t===this.fromNorth||t===this.fromWest;i.sort((u,$)=>s?$.$item.y-u.$item.y||$.$item.x-u.$item.x:u.$item.y-$.$item.y||u.$item.x-$.$item.x);let o=0,r,a=!0,C=[];for(;o<i.length;o++){if(r=i[o],r===this.gridsterItem)continue;if(!r.canBeDragged()){a=!1;break}let u=this.pushedItemsTemp.indexOf(r);if(u>-1&&this.pushedItemsTempPath[u].length>10){a=!1;break}if(this.tryPattern[t][0].call(this,r,e))this.pushedItemsOrder.push(r),C.push(r);else if(this.tryPattern[t][1].call(this,r,e))this.pushedItemsOrder.push(r),C.push(r);else if(this.tryPattern[t][2].call(this,r,e))this.pushedItemsOrder.push(r),C.push(r);else if(this.tryPattern[t][3].call(this,r,e))this.pushedItemsOrder.push(r),C.push(r);else{a=!1;break}}if(!a&&(o=this.pushedItemsOrder.lastIndexOf(C[0]),o>-1)){let u=this.pushedItemsOrder.length-1;for(;u>=o;u--)r=this.pushedItemsOrder[u],this.pushedItemsOrder.pop(),this.removeFromTempPushed(r),this.removeFromPushedItem(r)}return this.iteration++,a}trySouth(e,t){return this.gridster.$options.pushDirections.south?(this.addToTempPushed(e),e.$item.y=t.$item.y+t.$item.rows,this.push(e,this.fromNorth)?(e.setSize(),this.addToPushed(e),!0):(this.removeFromTempPushed(e),!1)):!1}tryNorth(e,t){return this.gridster.$options.pushDirections.north?(this.addToTempPushed(e),e.$item.y=t.$item.y-e.$item.rows,this.push(e,this.fromSouth)?(e.setSize(),this.addToPushed(e),!0):(this.removeFromTempPushed(e),!1)):!1}tryEast(e,t){return this.gridster.$options.pushDirections.east?(this.addToTempPushed(e),e.$item.x=t.$item.x+t.$item.cols,this.push(e,this.fromWest)?(e.setSize(),this.addToPushed(e),!0):(this.removeFromTempPushed(e),!1)):!1}tryWest(e,t){return this.gridster.$options.pushDirections.west?(this.addToTempPushed(e),e.$item.x=t.$item.x-e.$item.cols,this.push(e,this.fromEast)?(e.setSize(),this.addToPushed(e),!0):(this.removeFromTempPushed(e),!1)):!1}addToTempPushed(e){let t=this.pushedItemsTemp.indexOf(e);t===-1&&(t=this.pushedItemsTemp.push(e)-1,this.pushedItemsTempPath[t]=[]),this.pushedItemsTempPath[t].push({x:e.$item.x,y:e.$item.y})}removeFromTempPushed(e){let t=this.pushedItemsTemp.indexOf(e),i=this.pushedItemsTempPath[t].pop();i&&(e.$item.x=i.x,e.$item.y=i.y,e.setSize(),this.pushedItemsTempPath[t].length||(this.pushedItemsTemp.splice(t,1),this.pushedItemsTempPath.splice(t,1)))}addToPushed(e){if(this.pushedItems.indexOf(e)<0)this.pushedItems.push(e),this.pushedItemsPath.push([{x:e.item.x||0,y:e.item.y||0},{x:e.$item.x,y:e.$item.y}]);else{let t=this.pushedItems.indexOf(e);this.pushedItemsPath[t].push({x:e.$item.x,y:e.$item.y})}}removeFromPushed(e){e>-1&&(this.pushedItems.splice(e,1),this.pushedItemsPath.splice(e,1))}removeFromPushedItem(e){let t=this.pushedItems.indexOf(e);t>-1&&(this.pushedItemsPath[t].pop(),this.pushedItemsPath.length||(this.pushedItems.splice(t,1),this.pushedItemsPath.splice(t,1)))}checkPushedItem(e,t){let i=this.pushedItemsPath[t],s=i.length-2,o,r,a,C=!1;for(;s>-1;s--)o=i[s],r=e.$item.x,a=e.$item.y,e.$item.x=o.x,e.$item.y=o.y,this.gridster.findItemWithItem(e.$item)?(e.$item.x=r,e.$item.y=a):(e.setSize(),i.splice(s+1,i.length-s-1),C=!0);return i.length<2&&this.removeFromPushed(t),C}},Ft,Wt,pi=50,q,Ot,lt,Nt,Lt,Bt,Vt;function gi(n,e,t,i,s,o,r,a,C,u){Ft=n.$options.scrollSensitivity,Wt=n.$options.scrollSpeed,q=n.el,Ot=C,lt=u;let $=q.offsetWidth,y=q.offsetHeight,I=q.scrollLeft,J=q.scrollTop,ft=t-J,Ct=y+J-t-s,{clientX:Z,clientY:at}=o;if(!n.$options.disableScrollVertical)if(r.clientY<at&&Ct<Ft){if(wi(),Ot&<&&!lt.south||Vt)return;Vt=di(1,a,r)}else if(r.clientY>at&&J>0&&ft<Ft){if(yi(),Ot&<&&!lt.north||Bt)return;Bt=di(-1,a,r)}else r.clientY!==at&&Me();let vt=I+$-e-i,yt=e-I;if(!n.$options.disableScrollHorizontal){let wt=n.$options.dirType===E.RTL,$e=r.clientX<Z,Te=r.clientX>Z,Ii=wt?Te:$e,bi=wt?$e:Te;if(Ii&&vt<=Ft){if(Ci(),Ot&<&&!lt.east||Nt)return;Nt=ci(1,a,r,wt)}else if(bi&&I>0&&yt<Ft){if(fi(),Ot&<&&!lt.west||Lt)return;Lt=ci(-1,a,r,wt)}else r.clientX!==Z&&ze()}}function di(n,e,t){let i=t.clientY;return window.setInterval(()=>{(!q||n===-1&&q.scrollTop-Wt<0)&&Me(),q.scrollTop+=n*Wt,i+=n*Wt,e({clientX:t.clientX,clientY:i})},pi)}function ci(n,e,t,i){let s=t.clientX;return window.setInterval(()=>{if(!q){ze();return}let o=n*Wt,r=i?-o:o;q.scrollBy({left:r,behavior:"auto"}),s+=r,e({clientX:s,clientY:t.clientY})},pi)}function ui(){ze(),Me(),q=null}function ze(){fi(),Ci()}function Me(){wi(),yi()}function fi(){Nt&&(clearInterval(Nt),Nt=0)}function Ci(){Lt&&(clearInterval(Lt),Lt=0)}function yi(){Vt&&(clearInterval(Vt),Vt=0)}function wi(){Bt&&(clearInterval(Bt),Bt=0)}var xe=class{swapedItem;gridsterItem;gridster;constructor(e){this.gridsterItem=e,this.gridster=e.gridster}destroy(){this.gridster=this.gridsterItem=this.swapedItem=null}swapItems(){this.gridster.$options.swap&&(this.checkSwapBack(),this.checkSwap(this.gridsterItem))}checkSwapBack(){if(this.swapedItem){let e=this.swapedItem.$item.x,t=this.swapedItem.$item.y;this.swapedItem.$item.x=this.swapedItem.item.x||0,this.swapedItem.$item.y=this.swapedItem.item.y||0,this.gridster.checkCollision(this.swapedItem.$item)?(this.swapedItem.$item.x=e,this.swapedItem.$item.y=t):(this.swapedItem.setSize(),this.gridsterItem.$item.x=this.gridsterItem.item.x||0,this.gridsterItem.$item.y=this.gridsterItem.item.y||0,this.swapedItem=void 0)}}restoreSwapItem(){this.swapedItem&&(this.swapedItem.$item.x=this.swapedItem.item.x||0,this.swapedItem.$item.y=this.swapedItem.item.y||0,this.swapedItem.setSize(),this.swapedItem=void 0)}setSwapItem(){this.swapedItem&&(this.swapedItem.checkItemChanges(this.swapedItem.$item,this.swapedItem.item),this.swapedItem=void 0)}checkSwap(e){let t;if(this.gridster.$options.swapWhileDragging?t=this.gridster.checkCollisionForSwaping(e.$item):t=this.gridster.checkCollision(e.$item),t&&t!==!0&&t.canBeDragged()){let i=t,s=i.$item.x,o=i.$item.y,r=e.$item.x,a=e.$item.y,C=r-s,u=a-o;i.$item.x=e.item.x-C,i.$item.y=e.item.y-u,e.$item.x=i.item.x+C,e.$item.y=i.item.y+u,this.gridster.checkCollision(i.$item)||this.gridster.checkCollision(e.$item)?(e.$item.x=r,e.$item.y=a,i.$item.x=s,i.$item.y=o):(i.setSize(),this.swapedItem=i,this.gridster.$options.swapWhileDragging&&(this.gridsterItem.checkItemChanges(this.gridsterItem.$item,this.gridsterItem.item),this.setSwapItem()))}}},Wi="gridster-item-resizable-handler",H=(function(n){return n.UP="UP",n.DOWN="DOWN",n.LEFT="LEFT",n.RIGHT="RIGHT",n})(H||{}),ve=class{zone;gridsterItem;gridster;lastMouse;offsetLeft;offsetTop;margin;outerMarginTop;outerMarginRight;outerMarginBottom;outerMarginLeft;diffTop;diffLeft;originalClientX;originalClientY;top;left;height;width;positionX;positionY;positionXBackup;positionYBackup;enabled;mousemove;mouseup;mouseleave;cancelOnBlur;touchmove;touchend;touchcancel;mousedown;touchstart;push;swap;path;collision=!1;constructor(e,t,i){this.zone=i,this.gridsterItem=e,this.gridster=t,this.lastMouse={clientX:0,clientY:0},this.path=[]}destroy(){this.gridster.previewStyle&&this.gridster.previewStyle(!0),this.gridsterItem=this.gridster=this.collision=null,this.mousedown&&(this.mousedown(),this.touchstart())}dragStart(e){e.which&&e.which!==1||this.gridster.dragInProgress||(this.gridster.options.draggable&&this.gridster.options.draggable.start&&this.gridster.options.draggable.start(this.gridsterItem.item,this.gridsterItem,e),e.stopPropagation(),e.preventDefault(),this.zone.runOutsideAngular(()=>{this.mousemove=this.gridsterItem.renderer.listen("document","mousemove",this.dragMove),this.touchmove=this.gridster.renderer.listen(this.gridster.el,"touchmove",this.dragMove)}),this.mouseup=this.gridsterItem.renderer.listen("document","mouseup",this.dragStop),this.mouseleave=this.gridsterItem.renderer.listen("document","mouseleave",this.dragStop),this.cancelOnBlur=this.gridsterItem.renderer.listen("window","blur",this.dragStop),this.touchend=this.gridsterItem.renderer.listen("document","touchend",this.dragStop),this.touchcancel=this.gridsterItem.renderer.listen("document","touchcancel",this.dragStop),this.gridsterItem.renderer.addClass(this.gridsterItem.el,"gridster-item-moving"),this.margin=this.gridster.$options.margin,this.outerMarginTop=this.gridster.$options.outerMarginTop,this.outerMarginRight=this.gridster.$options.outerMarginRight,this.outerMarginBottom=this.gridster.$options.outerMarginBottom,this.outerMarginLeft=this.gridster.$options.outerMarginLeft,this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,this.left=this.gridsterItem.left-this.margin,this.top=this.gridsterItem.top-this.margin,this.originalClientX=e.clientX,this.originalClientY=e.clientY,this.width=this.gridsterItem.width,this.height=this.gridsterItem.height,this.gridster.$options.dirType===E.RTL?this.diffLeft=e.clientX-this.gridster.el.scrollWidth+this.gridsterItem.left:this.diffLeft=e.clientX+this.offsetLeft-this.margin-this.left,this.diffTop=e.clientY+this.offsetTop-this.margin-this.top,this.gridster.movingItem=this.gridsterItem.$item,this.gridster.previewStyle(!0),this.push=new ie(this.gridsterItem),this.swap=new xe(this.gridsterItem),this.gridster.dragInProgress=!0,this.gridster.updateGrid(),this.path.push({x:this.gridsterItem.item.x||0,y:this.gridsterItem.item.y||0}))}dragMove=e=>{e.stopPropagation(),e.preventDefault(),W.checkTouchEvent(e);let t=this.getDirections(e);this.gridster.options.enableBoundaryControl&&(t.includes(H.UP)&&this.gridsterItem.el.getBoundingClientRect().top<this.gridster.el.getBoundingClientRect().top+(this.outerMarginTop??this.margin)&&(t=t.filter(i=>i!=H.UP),e=new MouseEvent(e.type,{clientX:e.clientX,clientY:this.lastMouse.clientY})),t.includes(H.LEFT)&&this.gridsterItem.el.getBoundingClientRect().left<this.gridster.el.getBoundingClientRect().left+(this.outerMarginLeft??this.margin)&&(t=t.filter(i=>i!=H.LEFT),e=new MouseEvent(e.type,{clientX:this.lastMouse.clientX,clientY:e.clientY})),t.includes(H.RIGHT)&&this.gridsterItem.el.getBoundingClientRect().right>this.gridster.el.getBoundingClientRect().right-(this.outerMarginRight??this.margin)&&(t=t.filter(i=>i!=H.RIGHT),e=new MouseEvent(e.type,{clientX:this.lastMouse.clientX,clientY:e.clientY})),t.includes(H.DOWN)&&this.gridsterItem.el.getBoundingClientRect().bottom>this.gridster.el.getBoundingClientRect().bottom-(this.outerMarginBottom??this.margin)&&(t=t.filter(i=>i!=H.DOWN),e=new MouseEvent(e.type,{clientX:e.clientX,clientY:this.lastMouse.clientY}))),t.length&&(this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,gi(this.gridster,this.left,this.top,this.width,this.height,e,this.lastMouse,this.calculateItemPositionFromMousePosition),this.calculateItemPositionFromMousePosition(e))};calculateItemPositionFromMousePosition=e=>{this.gridster.options.scale?this.calculateItemPositionWithScale(e,this.gridster.options.scale):this.calculateItemPositionWithoutScale(e),this.calculateItemPosition(),this.lastMouse.clientX=e.clientX,this.lastMouse.clientY=e.clientY,this.zone.run(()=>{this.gridster.updateGrid()})};calculateItemPositionWithScale(e,t){this.gridster.$options.dirType===E.RTL?this.left=this.gridster.el.scrollWidth-this.originalClientX+(e.clientX-this.originalClientX)/t+this.diffLeft:this.left=this.originalClientX+(e.clientX-this.originalClientX)/t+this.offsetLeft-this.diffLeft,this.top=this.originalClientY+(e.clientY-this.originalClientY)/t+this.offsetTop-this.diffTop}calculateItemPositionWithoutScale(e){this.gridster.$options.dirType===E.RTL?this.left=this.gridster.el.offsetWidth-(e.clientX+this.offsetLeft-this.diffLeft):this.left=e.clientX+this.offsetLeft-this.diffLeft,this.top=e.clientY+this.offsetTop-this.diffTop}dragStop=e=>{e.stopPropagation(),e.preventDefault(),ui(),this.cancelOnBlur(),this.mousemove(),this.mouseup(),this.mouseleave(),this.touchmove(),this.touchend(),this.touchcancel(),this.gridsterItem.renderer.removeClass(this.gridsterItem.el,"gridster-item-moving"),this.gridster.dragInProgress=!1,this.gridster.updateGrid(),this.path=[],this.gridster.options.draggable&&this.gridster.options.draggable.stop?Promise.resolve(this.gridster.options.draggable.stop(this.gridsterItem.item,this.gridsterItem,e)).then(this.makeDrag,this.cancelDrag):this.makeDrag(),setTimeout(()=>{this.gridster&&(this.gridster.movingItem=null,this.gridster.previewStyle(!0))})};cancelDrag=()=>{this.gridsterItem.$item.x=this.gridsterItem.item.x||0,this.gridsterItem.$item.y=this.gridsterItem.item.y||0,this.gridsterItem.setSize(),this.push&&this.push.restoreItems(),this.swap&&this.swap.restoreSwapItem(),this.push&&(this.push.destroy(),this.push=null),this.swap&&(this.swap.destroy(),this.swap=null)};makeDrag=()=>{this.gridster.$options.draggable.dropOverItems&&this.gridster.options.draggable&&this.gridster.options.draggable.dropOverItemsCallback&&this.collision&&this.collision!==!0&&this.collision.$item&&this.gridster.options.draggable.dropOverItemsCallback(this.gridsterItem.item,this.collision.item,this.gridster),this.collision=!1,this.gridsterItem.setSize(),this.gridsterItem.checkItemChanges(this.gridsterItem.$item,this.gridsterItem.item),this.push&&this.push.setPushedItems(),this.swap&&this.swap.setSwapItem(),this.push&&(this.push.destroy(),this.push=null),this.swap&&(this.swap.destroy(),this.swap=null)};calculateItemPosition(){if(this.gridster.movingItem=this.gridsterItem.$item,this.positionX=this.gridster.pixelsToPositionX(this.left,Math.round),this.positionY=this.gridster.pixelsToPositionY(this.top,Math.round),this.positionXBackup=this.gridsterItem.$item.x,this.positionYBackup=this.gridsterItem.$item.y,this.gridsterItem.$item.x=this.positionX,this.gridster.checkGridCollision(this.gridsterItem.$item)&&(this.gridsterItem.$item.x=this.positionXBackup),this.gridsterItem.$item.y=this.positionY,this.gridster.checkGridCollision(this.gridsterItem.$item)&&(this.gridsterItem.$item.y=this.positionYBackup),this.gridster.gridRenderer.setCellPosition(this.gridsterItem.renderer,this.gridsterItem.el,this.left,this.top),this.positionXBackup!==this.gridsterItem.$item.x||this.positionYBackup!==this.gridsterItem.$item.y){let e=this.path[this.path.length-1],t="";e.x<this.gridsterItem.$item.x?t=this.push.fromWest:e.x>this.gridsterItem.$item.x?t=this.push.fromEast:e.y<this.gridsterItem.$item.y?t=this.push.fromNorth:e.y>this.gridsterItem.$item.y&&(t=this.push.fromSouth),this.push.pushItems(t,this.gridster.$options.disablePushOnDrag),this.swap.swapItems(),this.collision=this.gridster.checkCollision(this.gridsterItem.$item),this.collision?(this.gridsterItem.$item.x=this.positionXBackup,this.gridsterItem.$item.y=this.positionYBackup,this.gridster.$options.draggable.dropOverItems&&this.collision!==!0&&this.collision.$item&&(this.gridster.movingItem=null)):this.path.push({x:this.gridsterItem.$item.x,y:this.gridsterItem.$item.y}),this.push.checkPushBack()}else this.collision=!1;this.gridster.previewStyle(!0)}toggle(){let e=this.gridsterItem.canBeDragged();!this.enabled&&e?(this.enabled=!this.enabled,this.mousedown=this.gridsterItem.renderer.listen(this.gridsterItem.el,"mousedown",this.dragStartDelay),this.touchstart=this.gridsterItem.renderer.listen(this.gridsterItem.el,"touchstart",this.dragStartDelay)):this.enabled&&!e&&(this.enabled=!this.enabled,this.mousedown(),this.touchstart())}dragStartDelay=e=>{if(e.target.classList.contains(Wi)||W.checkContentClassForEvent(this.gridster,e))return;if(W.checkTouchEvent(e),!this.gridster.$options.draggable.delayStart){this.dragStart(e);return}let i=setTimeout(()=>{this.dragStart(e),y()},this.gridster.$options.draggable.delayStart),s=this.gridsterItem.renderer.listen("document","mouseup",y),o=this.gridsterItem.renderer.listen("document","mouseleave",y),r=this.gridsterItem.renderer.listen("window","blur",y),a=this.gridsterItem.renderer.listen("document","touchmove",$),C=this.gridsterItem.renderer.listen("document","touchend",y),u=this.gridsterItem.renderer.listen("document","touchcancel",y);function $(I){W.checkTouchEvent(I),(Math.abs(I.clientX-e.clientX)>9||Math.abs(I.clientY-e.clientY)>9)&&y()}function y(){clearTimeout(i),r(),s(),o(),a(),C(),u()}};getDirections(e){let t=[];return this.lastMouse.clientX===0&&this.lastMouse.clientY===0&&(this.lastMouse.clientY=e.clientY,this.lastMouse.clientX=e.clientX),this.lastMouse.clientY>e.clientY&&t.push(H.UP),this.lastMouse.clientY<e.clientY&&t.push(H.DOWN),this.lastMouse.clientX<e.clientX&&t.push(H.RIGHT),this.lastMouse.clientX>e.clientX&&t.push(H.LEFT),t}},Ie=class{fromSouth;fromNorth;fromEast;fromWest;pushedItems;pushedItemsPath;gridsterItem;gridster;tryPattern;constructor(e){this.pushedItems=[],this.pushedItemsPath=[],this.gridsterItem=e,this.gridster=e.gridster,this.tryPattern={fromEast:this.tryWest,fromWest:this.tryEast,fromNorth:this.trySouth,fromSouth:this.tryNorth},this.fromSouth="fromSouth",this.fromNorth="fromNorth",this.fromEast="fromEast",this.fromWest="fromWest"}destroy(){this.gridster=this.gridsterItem=null}pushItems(e){return this.gridster.$options.pushResizeItems?this.push(this.gridsterItem,e):!1}restoreItems(){let e=0,t=this.pushedItems.length,i;for(;e<t;e++)i=this.pushedItems[e],i.$item.x=i.item.x||0,i.$item.y=i.item.y||0,i.$item.cols=i.item.cols||1,i.$item.row=i.item.row||1,i.setSize();this.pushedItems=[],this.pushedItemsPath=[]}setPushedItems(){let e=0,t=this.pushedItems.length,i;for(;e<t;e++)i=this.pushedItems[e],i.checkItemChanges(i.$item,i.item);this.pushedItems=[],this.pushedItemsPath=[]}checkPushBack(){let e=this.pushedItems.length-1,t=!1;for(;e>-1;e--)this.checkPushedItem(this.pushedItems[e],e)&&(t=!0);t&&this.checkPushBack()}push(e,t){let i=this.gridster.checkCollision(e.$item);if(i&&i!==!0&&i!==this.gridsterItem&&i.canBeResized()){if(this.tryPattern[t].call(this,i,e,t))return!0}else if(i===!1)return!0;return!1}trySouth(e,t,i){let s=e.$item.y,o=e.$item.rows;return e.$item.y=t.$item.y+t.$item.rows,e.$item.rows=o+s-e.$item.y,!this.gridster.checkCollisionTwoItems(e.$item,t.$item)&&!this.gridster.checkGridCollision(e.$item)?(e.setSize(),this.addToPushed(e),this.push(t,i),!0):(e.$item.y=s,e.$item.rows=o,!1)}tryNorth(e,t,i){let s=e.$item.rows;return e.$item.rows=t.$item.y-e.$item.y,!this.gridster.checkCollisionTwoItems(e.$item,t.$item)&&!this.gridster.checkGridCollision(e.$item)?(e.setSize(),this.addToPushed(e),this.push(t,i),!0):(e.$item.rows=s,!1)}tryEast(e,t,i){let s=e.$item.x,o=e.$item.cols;return e.$item.x=t.$item.x+t.$item.cols,e.$item.cols=o+s-e.$item.x,!this.gridster.checkCollisionTwoItems(e.$item,t.$item)&&!this.gridster.checkGridCollision(e.$item)?(e.setSize(),this.addToPushed(e),this.push(t,i),!0):(e.$item.x=s,e.$item.cols=o,!1)}tryWest(e,t,i){let s=e.$item.cols;return e.$item.cols=t.$item.x-e.$item.x,!this.gridster.checkCollisionTwoItems(e.$item,t.$item)&&!this.gridster.checkGridCollision(e.$item)?(e.setSize(),this.addToPushed(e),this.push(t,i),!0):(e.$item.cols=s,!1)}addToPushed(e){if(this.pushedItems.indexOf(e)<0)this.pushedItems.push(e),this.pushedItemsPath.push([{x:e.item.x||0,y:e.item.y||0,cols:e.item.cols||0,rows:e.item.rows||0},{x:e.$item.x,y:e.$item.y,cols:e.$item.cols,rows:e.$item.rows}]);else{let t=this.pushedItems.indexOf(e);this.pushedItemsPath[t].push({x:e.$item.x,y:e.$item.y,cols:e.$item.cols,rows:e.$item.rows})}}removeFromPushed(e){e>-1&&(this.pushedItems.splice(e,1),this.pushedItemsPath.splice(e,1))}checkPushedItem(e,t){let i=this.pushedItemsPath[t],s=i.length-2,o,r,a,C,u;for(;s>-1;s--)o=i[s],r=e.$item.x,a=e.$item.y,C=e.$item.cols,u=e.$item.rows,e.$item.x=o.x,e.$item.y=o.y,e.$item.cols=o.cols,e.$item.rows=o.rows,this.gridster.findItemWithItem(e.$item)?(e.$item.x=r,e.$item.y=a,e.$item.cols=C,e.$item.rows=u):(e.setSize(),i.splice(s+1,i.length-1-s));return i.length<2?(this.removeFromPushed(t),!0):!1}},be=class{zone;gridsterItem;gridster;lastMouse;itemBackup={x:0,y:0,cols:0,rows:0};resizeEventScrollType;directionFunction=null;resizeEnabled;resizableHandles;mousemove;mouseup;mouseleave;cancelOnBlur;touchmove;touchend;touchcancel;push;pushResize;minHeight;minWidth;offsetTop;offsetLeft;diffTop;diffLeft;diffRight;diffBottom;margin;outerMarginTop;outerMarginRight;outerMarginBottom;outerMarginLeft;originalClientX;originalClientY;top;left;bottom;right;width;height;hasRatio;constructor(e,t,i){this.zone=i,this.gridsterItem=e,this.gridster=t,this.lastMouse={clientX:0,clientY:0},this.resizeEventScrollType={west:!1,east:!1,north:!1,south:!1}}destroy(){this.gridster?.previewStyle(),this.gridster=this.gridsterItem=null}dragStart(e){if(e.which&&e.which!==1||this.gridster.dragInProgress)return;this.gridster.options.resizable&&this.gridster.options.resizable.start&&this.gridster.options.resizable.start(this.gridsterItem.item,this.gridsterItem,e),e.stopPropagation(),e.preventDefault(),this.zone.runOutsideAngular(()=>{this.mousemove=this.gridsterItem.renderer.listen("document","mousemove",this.dragMove),this.touchmove=this.gridster.renderer.listen(this.gridster.el,"touchmove",this.dragMove)}),this.mouseup=this.gridsterItem.renderer.listen("document","mouseup",this.dragStop),this.mouseleave=this.gridsterItem.renderer.listen("document","mouseleave",this.dragStop),this.cancelOnBlur=this.gridsterItem.renderer.listen("window","blur",this.dragStop),this.touchend=this.gridsterItem.renderer.listen("document","touchend",this.dragStop),this.touchcancel=this.gridsterItem.renderer.listen("document","touchcancel",this.dragStop),this.gridsterItem.renderer.addClass(this.gridsterItem.el,"gridster-item-resizing"),this.lastMouse.clientX=e.clientX,this.lastMouse.clientY=e.clientY,this.left=this.gridsterItem.left,this.top=this.gridsterItem.top,this.originalClientX=e.clientX,this.originalClientY=e.clientY,this.width=this.gridsterItem.width,this.height=this.gridsterItem.height,this.bottom=this.gridsterItem.top+this.gridsterItem.height,this.right=this.gridsterItem.left+this.gridsterItem.width,this.margin=this.gridster.$options.margin,this.outerMarginTop=this.gridster.$options.outerMarginTop,this.outerMarginRight=this.gridster.$options.outerMarginRight,this.outerMarginBottom=this.gridster.$options.outerMarginBottom,this.outerMarginLeft=this.gridster.$options.outerMarginLeft,this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,this.diffLeft=e.clientX+this.offsetLeft-this.left,this.diffRight=e.clientX+this.offsetLeft-this.right,this.diffTop=e.clientY+this.offsetTop-this.top,this.diffBottom=e.clientY+this.offsetTop-this.bottom,this.minHeight=this.gridster.positionYToPixels(this.gridsterItem.$item.minItemRows||this.gridster.$options.minItemRows)-this.margin,this.minWidth=this.gridster.positionXToPixels(this.gridsterItem.$item.minItemCols||this.gridster.$options.minItemCols)-this.margin,this.gridster.movingItem=this.gridsterItem.$item,this.gridster.previewStyle(),this.push=new ie(this.gridsterItem),this.pushResize=new Ie(this.gridsterItem),this.gridster.dragInProgress=!0,this.hasRatio=!!(this.gridster.$options.itemAspectRatio||this.gridsterItem.$item.itemAspectRatio),this.itemBackup={x:0,y:0,cols:0,rows:0},this.gridster.updateGrid();let{classList:t}=e.target;t.contains("handle-n")?(this.resizeEventScrollType.north=!0,this.directionFunction=this.handleNorth):t.contains("handle-w")?this.gridster.$options.dirType===E.RTL?(this.resizeEventScrollType.east=!0,this.directionFunction=this.handleEast):(this.resizeEventScrollType.west=!0,this.directionFunction=this.handleWest):t.contains("handle-s")?(this.resizeEventScrollType.south=!0,this.directionFunction=this.handleSouth):t.contains("handle-e")?this.gridster.$options.dirType===E.RTL?(this.resizeEventScrollType.west=!0,this.directionFunction=this.handleWest):(this.resizeEventScrollType.east=!0,this.directionFunction=this.handleEast):t.contains("handle-nw")?this.gridster.$options.dirType===E.RTL?(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleNorthEast):(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleNorthWest):t.contains("handle-ne")?this.gridster.$options.dirType===E.RTL?(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleNorthWest):(this.resizeEventScrollType.north=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleNorthEast):t.contains("handle-sw")?this.gridster.$options.dirType===E.RTL?(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleSouthEast):(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleSouthWest):t.contains("handle-se")&&(this.gridster.$options.dirType===E.RTL?(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.west=!0,this.directionFunction=this.handleSouthWest):(this.resizeEventScrollType.south=!0,this.resizeEventScrollType.east=!0,this.directionFunction=this.handleSouthEast))}dragMove=e=>{if(this.directionFunction===null)throw new Error("The `directionFunction` has not been set before calling `dragMove`.");e.stopPropagation(),e.preventDefault(),W.checkTouchEvent(e),this.offsetTop=this.gridster.el.scrollTop-this.gridster.el.offsetTop,this.offsetLeft=this.gridster.el.scrollLeft-this.gridster.el.offsetLeft,gi(this.gridster,this.left,this.top,this.width,this.height,e,this.lastMouse,this.directionFunction,!0,this.resizeEventScrollType);let t=this.gridster.options.scale||1;this.directionFunction({clientX:this.originalClientX+(e.clientX-this.originalClientX)/t,clientY:this.originalClientY+(e.clientY-this.originalClientY)/t}),this.lastMouse.clientX=e.clientX,this.lastMouse.clientY=e.clientY,this.zone.run(()=>{this.gridster.updateGrid()})};dragStop=e=>{e.stopPropagation(),e.preventDefault(),ui(),this.mousemove(),this.mouseup(),this.mouseleave(),this.cancelOnBlur(),this.touchmove(),this.touchend(),this.touchcancel(),this.gridster.dragInProgress=!1,this.resizeEventScrollType={west:!1,east:!1,north:!1,south:!1},this.gridster.updateGrid(),this.gridster.options.resizable&&this.gridster.options.resizable.stop?Promise.resolve(this.gridster.options.resizable.stop(this.gridsterItem.item,this.gridsterItem,e)).then(this.makeResize,this.cancelResize):this.makeResize(),setTimeout(()=>{this.gridsterItem.renderer.removeClass(this.gridsterItem.el,"gridster-item-resizing"),this.gridster&&(this.gridster.movingItem=null,this.gridster.previewStyle())})};cancelResize=()=>{this.gridsterItem.$item.cols=this.gridsterItem.item.cols||1,this.gridsterItem.$item.rows=this.gridsterItem.item.rows||1,this.gridsterItem.$item.x=this.gridsterItem.item.x||0,this.gridsterItem.$item.y=this.gridsterItem.item.y||0,this.gridsterItem.setSize(),this.push.restoreItems(),this.pushResize.restoreItems(),this.push.destroy(),this.push=null,this.pushResize.destroy(),this.pushResize=null};makeResize=()=>{this.gridsterItem.setSize(),this.gridsterItem.checkItemChanges(this.gridsterItem.$item,this.gridsterItem.item),this.push.setPushedItems(),this.pushResize.setPushedItems(),this.push.destroy(),this.push=null,this.pushResize.destroy(),this.pushResize=null};check=e=>(this.hasRatio&&this.enforceAspectRatio(),this.pushResize.pushItems(e),this.push.pushItems(e,this.gridster.$options.disablePushOnResize),this.gridster.checkCollision(this.gridsterItem.$item,!0)?(this.resetItem(this.hasRatio),!1):(this.gridster.previewStyle(),this.pushResize.checkPushBack(),this.push.checkPushBack(),!0));getNewNorthPosition=e=>{this.top=e.clientY+this.offsetTop-this.diffTop,this.height=this.bottom-this.top,this.minHeight>this.height?(this.height=this.minHeight,this.top=this.bottom-this.minHeight):this.gridster.options.enableBoundaryControl&&(this.top=Math.max(0,this.top),this.height=this.bottom-this.top);let t=this.gridster.options.pushItems?this.margin:0;return this.gridster.pixelsToPositionY(this.top+t,Math.floor)};handleNorth=e=>{let t=this.getNewNorthPosition(e);this.gridsterItem.$item.y!==t&&(this.makeItemBackup(),this.gridsterItem.$item.rows+=this.gridsterItem.$item.y-t,this.gridsterItem.$item.y=t,!this.check(this.pushResize.fromSouth))||(this.setItemTop(this.top),this.setItemHeight(this.height))};getNewWestPosition=e=>{let t=this.gridster.$options.dirType===E.RTL?this.originalClientX+(this.originalClientX-e.clientX):e.clientX;this.left=t+this.offsetLeft-this.diffLeft,this.width=this.right-this.left,this.minWidth>this.width?(this.width=this.minWidth,this.left=this.right-this.minWidth):this.gridster.options.enableBoundaryControl&&(this.left=Math.max(0,this.left),this.width=this.right-this.left);let i=this.gridster.options.pushItems?this.margin:0;return this.gridster.pixelsToPositionX(this.left+i,Math.floor)};handleWest=e=>{let t=this.getNewWestPosition(e);this.gridsterItem.$item.x!==t&&(this.makeItemBackup(),this.gridsterItem.$item.cols+=this.gridsterItem.$item.x-t,this.gridsterItem.$item.x=t,!this.check(this.pushResize.fromEast))||(this.setItemLeft(this.left),this.setItemWidth(this.width))};getNewSouthPosition=e=>{if(this.height=e.clientY+this.offsetTop-this.diffBottom-this.top,this.minHeight>this.height&&(this.height=this.minHeight),this.bottom=this.top+this.height,this.gridster.options.enableBoundaryControl){let i=this.outerMarginBottom??this.margin,s=this.gridster.el.getBoundingClientRect();this.bottom=Math.min(this.bottom,s.bottom-s.top-2*i),this.height=this.bottom-this.top}let t=this.gridster.options.pushItems?0:this.margin;return this.gridster.pixelsToPositionY(this.bottom+t,Math.ceil)};handleSouth=e=>{let t=this.getNewSouthPosition(e);this.gridsterItem.$item.y+this.gridsterItem.$item.rows!==t&&(this.makeItemBackup(),this.gridsterItem.$item.rows=t-this.gridsterItem.$item.y,!this.check(this.pushResize.fromNorth))||this.setItemHeight(this.height)};getNewEastPosition=e=>{let t=this.gridster.$options.dirType===E.RTL?this.originalClientX+(this.originalClientX-e.clientX):e.clientX;if(this.width=t+this.offsetLeft-this.diffRight-this.left,this.minWidth>this.width&&(this.width=this.minWidth),this.right=this.left+this.width,this.gridster.options.enableBoundaryControl){let s=this.outerMarginRight??this.margin,o=this.gridster.el.getBoundingClientRect();this.right=Math.min(this.right,o.right-o.left-2*s),this.width=this.right-this.left}let i=this.gridster.options.pushItems?0:this.margin;return this.gridster.pixelsToPositionX(this.right+i,Math.ceil)};handleEast=e=>{let t=this.getNewEastPosition(e);this.gridsterItem.$item.x+this.gridsterItem.$item.cols!==t&&(this.makeItemBackup(),this.gridsterItem.$item.cols=t-this.gridsterItem.$item.x,!this.check(this.pushResize.fromWest))||this.setItemWidth(this.width)};handleNorthWest=e=>{let t=this.getNewNorthPosition(e),i=this.getNewWestPosition(e);(this.gridsterItem.$item.y!==t||this.gridsterItem.$item.x!==i)&&(this.makeItemBackup(),this.gridsterItem.$item.rows+=this.gridsterItem.$item.y-t,this.gridsterItem.$item.y=t,this.gridsterItem.$item.cols+=this.gridsterItem.$item.x-i,this.gridsterItem.$item.x=i,!this.check(this.pushResize.fromSouth))||(this.setItemTop(this.top),this.setItemHeight(this.height),this.setItemLeft(this.left),this.setItemWidth(this.width))};handleNorthEast=e=>{let t=this.getNewNorthPosition(e),i=this.getNewEastPosition(e);(this.gridsterItem.$item.y!==t||this.gridsterItem.$item.x+this.gridsterItem.$item.cols!==i)&&(this.makeItemBackup(),this.gridsterItem.$item.rows+=this.gridsterItem.$item.y-t,this.gridsterItem.$item.y=t,this.gridsterItem.$item.cols=i-this.gridsterItem.$item.x,!this.check(this.pushResize.fromSouth))||(this.setItemTop(this.top),this.setItemHeight(this.height),this.setItemWidth(this.width))};handleSouthWest=e=>{let t=this.getNewSouthPosition(e),i=this.getNewWestPosition(e);(this.gridsterItem.$item.y+this.gridsterItem.$item.rows!==t||this.gridsterItem.$item.x!==i)&&(this.makeItemBackup(),this.gridsterItem.$item.rows=t-this.gridsterItem.$item.y,this.gridsterItem.$item.cols+=this.gridsterItem.$item.x-i,this.gridsterItem.$item.x=i,!this.check(this.pushResize.fromNorth))||(this.setItemLeft(this.left),this.setItemHeight(this.height),this.setItemWidth(this.width))};handleSouthEast=e=>{let t=this.getNewSouthPosition(e),i=this.getNewEastPosition(e);(this.gridsterItem.$item.y+this.gridsterItem.$item.rows!==t||this.gridsterItem.$item.x+this.gridsterItem.$item.cols!==i)&&(this.makeItemBackup(),this.gridsterItem.$item.rows=t-this.gridsterItem.$item.y,this.gridsterItem.$item.cols=i-this.gridsterItem.$item.x,!this.check(this.pushResize.fromNorth))||(this.setItemHeight(this.height),this.setItemWidth(this.width))};makeItemBackup(){this.itemBackup.x=this.gridsterItem.$item.x,this.itemBackup.y=this.gridsterItem.$item.y,this.itemBackup.cols=this.gridsterItem.$item.cols,this.itemBackup.rows=this.gridsterItem.$item.rows}resetItem(e=!1){this.gridsterItem.$item.x!==this.itemBackup.x&&(this.gridsterItem.$item.x=this.itemBackup.x,e||(this.left=this.gridster.positionXToPixels(this.gridsterItem.$item.x),this.setItemLeft(this.left))),this.gridsterItem.$item.y!==this.itemBackup.y&&(this.gridsterItem.$item.y=this.itemBackup.y,e||(this.top=this.gridster.positionYToPixels(this.gridsterItem.$item.y),this.setItemTop(this.top))),this.gridsterItem.$item.cols!==this.itemBackup.cols&&(this.gridsterItem.$item.cols=this.itemBackup.cols,e||this.setItemWidth(this.gridster.positionXToPixels(this.gridsterItem.$item.cols)-this.margin)),this.gridsterItem.$item.rows!==this.itemBackup.rows&&(this.gridsterItem.$item.rows=this.itemBackup.rows,e||this.setItemHeight(this.gridster.positionYToPixels(this.gridsterItem.$item.rows)-this.margin))}toggle(){this.resizeEnabled=this.gridsterItem.canBeResized(),this.resizableHandles=this.gridsterItem.getResizableHandles()}dragStartDelay(e){if(W.checkTouchEvent(e),!this.gridster.$options.resizable.delayStart){this.dragStart(e);return}let t=setTimeout(()=>{this.dragStart(e),$()},this.gridster.$options.resizable.delayStart),{cancelMouse:i,cancelMouseLeave:s,cancelOnBlur:o,cancelTouchMove:r,cancelTouchEnd:a,cancelTouchCancel:C}=this.zone.runOutsideAngular(()=>{let y=this.gridsterItem.renderer.listen("document","mouseup",$),I=this.gridsterItem.renderer.listen("document","mouseleave",$),J=this.gridsterItem.renderer.listen("window","blur",$),ft=this.gridsterItem.renderer.listen("document","touchmove",u),Ct=this.gridsterItem.renderer.listen("document","touchend",$),Z=this.gridsterItem.renderer.listen("document","touchcancel",$);return{cancelMouse:y,cancelMouseLeave:I,cancelOnBlur:J,cancelTouchMove:ft,cancelTouchEnd:Ct,cancelTouchCancel:Z}});function u(y){W.checkTouchEvent(y),(Math.abs(y.clientX-e.clientX)>9||Math.abs(y.clientY-e.clientY)>9)&&$()}function $(){clearTimeout(t),o(),i(),s(),r(),a(),C()}}setItemTop(e){this.gridster.gridRenderer.setCellPosition(this.gridsterItem.renderer,this.gridsterItem.el,this.left,e)}setItemLeft(e){this.gridster.gridRenderer.setCellPosition(this.gridsterItem.renderer,this.gridsterItem.el,e,this.top)}setItemHeight(e){this.gridsterItem.renderer.setStyle(this.gridsterItem.el,"height",e+"px")}setItemWidth(e){this.gridsterItem.renderer.setStyle(this.gridsterItem.el,"width",e+"px")}enforceAspectRatio(){let e=this.gridsterItem.$item.itemAspectRatio||this.gridster.$options.itemAspectRatio;if(!e)return;let t=e*(this.gridster.curColWidth/this.gridster.curRowHeight),i=this.gridsterItem.$item.minItemCols||this.gridster.$options.minItemCols,s=this.gridsterItem.$item.minItemRows||this.gridster.$options.minItemRows,o=this.gridster.positionXToPixels(i)-this.margin,r=this.gridster.positionYToPixels(s)-this.margin,a=this.gridsterItem.$item.maxItemCols||this.gridster.$options.maxItemCols||0,C=this.gridsterItem.$item.maxItemRows||this.gridster.$options.maxItemRows||0,u=a?this.gridster.positionXToPixels(a)-this.margin:Number.MAX_VALUE,$=C?this.gridster.positionYToPixels(C)-this.margin:Number.MAX_VALUE,y=this.width,I=this.height;if(this.resizeEventScrollType.north||this.resizeEventScrollType.south?(y=this.height*t,y<o?(y=o,I=o/t):y>u&&(y=u,I=u/t)):(this.resizeEventScrollType.east||this.resizeEventScrollType.west)&&(I=this.width/t,I<r?(I=r,y=r*t):I>$&&(I=$,y=$*t)),this.gridster.options.enableBoundaryControl){let at=this.gridster.el.getBoundingClientRect(),vt=Math.max(this.outerMarginTop||this.margin,this.outerMarginRight||this.margin,this.outerMarginBottom||this.margin,this.outerMarginLeft||this.margin),yt=at.width-2*vt,wt=at.height-2*vt;this.resizeEventScrollType.west?this.right-y<0&&(y=this.right,I=y/t):this.resizeEventScrollType.east&&this.left+y>yt&&(y=yt-this.left,I=y/t),this.resizeEventScrollType.north?this.bottom-I<0&&(I=this.bottom,y=I*t):this.resizeEventScrollType.south&&this.top+I>wt&&(I=wt-this.top,y=I*t)}this.width=y,this.height=I,this.resizeEventScrollType.west&&(this.left=this.right-this.width),this.resizeEventScrollType.north&&(this.top=this.bottom-this.height);let J=this.gridster.options.pushItems?0:this.margin,ft=this.gridster.options.pushItems?0:this.margin,Ct=this.gridster.options.pushItems?this.margin:0,Z=this.gridster.options.pushItems?this.margin:0;this.gridsterItem.$item.x=this.gridster.pixelsToPositionX(this.left+J,Math.floor),this.gridsterItem.$item.y=this.gridster.pixelsToPositionY(this.top+ft,Math.floor),this.gridsterItem.$item.cols=this.gridster.pixelsToPositionX(this.width+Ct,Math.ceil),this.gridsterItem.$item.rows=this.gridster.pixelsToPositionY(this.height+Z,Math.ceil),this.setItemTop(this.top),this.setItemLeft(this.left),this.setItemWidth(this.width),this.setItemHeight(this.height)}},xi=(()=>{class n{renderer;zone;item;itemInit=new ot;itemChange=new ot;itemResize=new ot;$item;el;gridster;top;left;width;height;drag;resize;notPlaced;init;get zIndex(){return this.getLayerIndex()+this.gridster.$options.baseLayerIndex}constructor(t,i,s,o){this.renderer=s,this.zone=o,this.el=t.nativeElement,this.$item={cols:-1,rows:-1,x:-1,y:-1},this.gridster=i,this.drag=new ve(this,i,this.zone),this.resize=new be(this,i,this.zone)}ngOnInit(){this.gridster.addItem(this)}ngOnChanges(t){t.item&&(this.updateOptions(),this.init||this.gridster.calculateLayout$.next()),t.item&&t.item.previousValue&&this.setSize()}updateOptions(){this.$item=W.merge(this.$item,this.item,{cols:void 0,rows:void 0,x:void 0,y:void 0,layerIndex:void 0,dragEnabled:void 0,resizeEnabled:void 0,compactEnabled:void 0,itemAspectRatio:void 0,maxItemRows:void 0,minItemRows:void 0,maxItemCols:void 0,minItemCols:void 0,maxItemArea:void 0,minItemArea:void 0,resizableHandles:{s:void 0,e:void 0,n:void 0,w:void 0,se:void 0,ne:void 0,sw:void 0,nw:void 0}})}ngOnDestroy(){this.gridster.removeItem(this),this.drag.destroy(),this.resize.destroy(),this.gridster=this.drag=this.resize=null}setSize(){this.renderer.setStyle(this.el,"display",this.notPlaced?"":"block"),this.gridster.gridRenderer.updateItem(this.el,this.$item,this.renderer),this.updateItemSize()}updateItemSize(){let t=this.$item.y*this.gridster.curRowHeight,i=this.$item.x*this.gridster.curColWidth,s=this.$item.cols*this.gridster.curColWidth-this.gridster.$options.margin,o=this.$item.rows*this.gridster.curRowHeight-this.gridster.$options.margin;this.top=t,this.left=i,!this.init&&s>0&&o>0&&(this.init=!0,this.item.initCallback&&this.item.initCallback(this.item,this),this.gridster.options.itemInitCallback&&this.gridster.options.itemInitCallback(this.item,this),this.itemInit.next({item:this.item,itemComponent:this}),this.gridster.$options.scrollToNewItems&&this.el.scrollIntoView({block:"end",inline:"nearest",behavior:"smooth"})),(s!==this.width||o!==this.height)&&(this.width=s,this.height=o,this.gridster.options.itemResizeCallback&&this.gridster.options.itemResizeCallback(this.item,this),this.itemResize.next({item:this.item,itemComponent:this}))}itemChanged(){this.gridster.options.itemChangeCallback&&this.gridster.options.itemChangeCallback(this.item,this),this.itemChange.next({item:this.item,itemComponent:this})}checkItemChanges(t,i){t.rows===i.rows&&t.cols===i.cols&&t.x===i.x&&t.y===i.y||(this.gridster.checkCollision(this.$item)?(this.$item.x=i.x||0,this.$item.y=i.y||0,this.$item.cols=i.cols||1,this.$item.rows=i.rows||1,this.setSize()):(this.item.cols=this.$item.cols,this.item.rows=this.$item.rows,this.item.x=this.$item.x,this.item.y=this.$item.y,this.gridster.calculateLayout$.next(),this.itemChanged()))}canBeDragged(){let t=this.gridster.$options.draggable.enabled,i=this.$item.dragEnabled===void 0?t:this.$item.dragEnabled;return!this.gridster.mobile&&t&&i}canBeResized(){let t=this.gridster.$options.resizable.enabled,i=this.$item.resizeEnabled===void 0?t:this.$item.resizeEnabled;return!this.gridster.mobile&&t&&i}getResizableHandles(){let t=this.gridster.$options.resizable.handles,i=this.$item.resizableHandles;return i===void 0?t:P(P({},t),i)}bringToFront(t){if(t&&t<=0)return;let i=this.getLayerIndex(),s=this.gridster.$options.maxLayerIndex;if(i<s){let o=t?i+t:s;this.item.layerIndex=this.$item.layerIndex=o>s?s:o}}sendToBack(t){if(t&&t<=0)return;let i=this.getLayerIndex();if(i>0){let s=t?i-t:0;this.item.layerIndex=this.$item.layerIndex=s<0?0:s}}getLayerIndex(){return this.item.layerIndex!==void 0?this.item.layerIndex:this.gridster.$options.defaultLayerIndex!==void 0?this.gridster.$options.defaultLayerIndex:0}static \u0275fac=function(i){return new(i||n)(U(St),U(_e),U(Pt),U(pe))};static \u0275cmp=T({type:n,selectors:[["gridster-item"]],hostVars:2,hostBindings:function(i,s){i&2&&Ne("z-index",s.zIndex)},inputs:{item:"item"},outputs:{itemInit:"itemInit",itemChange:"itemChange",itemResize:"itemResize"},features:[nt],ngContentSelectors:mi,decls:9,vars:8,consts:[[1,"gridster-item-resizable-handler","handle-s"],[1,"gridster-item-resizable-handler","handle-e"],[1,"gridster-item-resizable-handler","handle-n"],[1,"gridster-item-resizable-handler","handle-w"],[1,"gridster-item-resizable-handler","handle-se"],[1,"gridster-item-resizable-handler","handle-ne"],[1,"gridster-item-resizable-handler","handle-sw"],[1,"gridster-item-resizable-handler","handle-nw"],[1,"gridster-item-resizable-handler","handle-s",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-e",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-n",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-w",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-se",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-ne",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-sw",3,"mousedown","touchstart"],[1,"gridster-item-resizable-handler","handle-nw",3,"mousedown","touchstart"]],template:function(i,s){i&1&&(Dt(),bt(0),b(1,Ti,1,0,"div",0),b(2,ki,1,0,"div",1),b(3,Si,1,0,"div",2),b(4,Pi,1,0,"div",3),b(5,Di,1,0,"div",4),b(6,Ei,1,0,"div",5),b(7,Ri,1,0,"div",6),b(8,Fi,1,0,"div",7)),i&2&&(d(),_(s.resize.resizableHandles!=null&&s.resize.resizableHandles.s&&s.resize.resizeEnabled?1:-1),d(),_(s.resize.resizableHandles!=null&&s.resize.resizableHandles.e&&s.resize.resizeEnabled?2:-1),d(),_(s.resize.resizableHandles!=null&&s.resize.resizableHandles.n&&s.resize.resizeEnabled?3:-1),d(),_(s.resize.resizableHandles!=null&&s.resize.resizableHandles.w&&s.resize.resizeEnabled?4:-1),d(),_(s.resize.resizableHandles!=null&&s.resize.resizableHandles.se&&s.resize.resizeEnabled?5:-1),d(),_(s.resize.resizableHandles!=null&&s.resize.resizableHandles.ne&&s.resize.resizeEnabled?6:-1),d(),_(s.resize.resizableHandles!=null&&s.resize.resizableHandles.sw&&s.resize.resizeEnabled?7:-1),d(),_(s.resize.resizableHandles!=null&&s.resize.resizableHandles.nw&&s.resize.resizeEnabled?8:-1))},styles:[`gridster-item{box-sizing:border-box;z-index:1;position:absolute;overflow:hidden;transition:.3s;display:none;background:#fff;-webkit-user-select:text;user-select:text}gridster-item.gridster-item-moving{cursor:move}gridster-item.gridster-item-resizing,gridster-item.gridster-item-moving{transition:0s;z-index:2;box-shadow:0 0 5px 5px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}.gridster-item-resizable-handler{position:absolute;z-index:2}.gridster-item-resizable-handler.handle-n{cursor:ns-resize;height:10px;right:0;top:0;left:0}.gridster-item-resizable-handler.handle-e{cursor:ew-resize;width:10px;bottom:0;right:0;top:0}.gridster-item-resizable-handler.handle-s{cursor:ns-resize;height:10px;right:0;bottom:0;left:0}.gridster-item-resizable-handler.handle-w{cursor:ew-resize;width:10px;left:0;top:0;bottom:0}.gridster-item-resizable-handler.handle-ne{cursor:ne-resize;width:10px;height:10px;right:0;top:0}.gridster-item-resizable-handler.handle-nw{cursor:nw-resize;width:10px;height:10px;left:0;top:0}.gridster-item-resizable-handler.handle-se{cursor:se-resize;width:0;height:0;right:0;bottom:0;border-style:solid;border-width:0 0 10px 10px;border-color:transparent}.gridster-item-resizable-handler.handle-sw{cursor:sw-resize;width:10px;height:10px;left:0;bottom:0}gridster-item:hover .gridster-item-resizable-handler.handle-se{border-color:transparent transparent #ccc}
|
|
4
|
-
`],encapsulation:2})}return n})();var Ni=["*",[["actions"]]],Li=["*","actions"];function Bi(n,e){n&1&&(V(0,"div",3),bt(1,1),N())}var st=class n{item;static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["app-widget-base"]],inputs:{item:"item"},ngContentSelectors:Li,decls:7,vars:2,consts:[[1,"widget"],[1,"header"],[1,"title"],[1,"actions"],[1,"content"]],template:function(t,i){t&1&&(Dt(Ni),V(0,"div",0)(1,"div",1)(2,"div",2),f(3),N(),b(4,Bi,2,0,"div",3),N(),V(5,"div",4),bt(6),N()()),t&2&&(d(3),A(i.item.title),d(),_(i.item.configurable?4:-1))},dependencies:[D,O,F],styles:["[_nghost-%COMP%]{display:block;height:100%}.widget[_ngcontent-%COMP%]{height:100%;padding:12px 0;display:flex;flex-direction:column}.header[_ngcontent-%COMP%]{flex:0 0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between}.title[_ngcontent-%COMP%]{font-size:18px;font-weight:600;flex:1 1 auto;opacity:.5}.actions[_ngcontent-%COMP%]{flex:0 0 auto}.content[_ngcontent-%COMP%]{flex:1 1 auto;display:flex;flex-direction:column;width:100%;height:0;overflow:hidden}"]})};var ne=class n{item;port="";static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["app-kill-port-widget"]],inputs:{item:"item"},decls:11,vars:2,consts:[[3,"item"],[1,"logo"],[1,"icon-wrapper"],["nzType","thunderbolt","nzTheme","outline"],["nz-input","","placeholder","\u8F93\u5165\u4E00\u4E2A\u7F51\u7EDC\u7AEF\u53E3","name","port",3,"ngModelChange","ngModel"],["nz-button","","nzType","primary"]],template:function(t,i){t&1&&(l(0,"app-widget-base",0)(1,"div",1)(2,"div",2),m(3,"nz-icon",3),h(),l(4,"h3"),f(5,"\u51C6\u5907\u597D\u7EC8\u6B62"),h()(),l(6,"nz-space")(7,"input",4),ct("ngModelChange",function(o){return dt(i.port,o)||(i.port=o),o}),h(),l(8,"button",5),m(9,"nz-icon",3),f(10," \u7EC8\u6B62 "),h()()()),t&2&&(p("item",i.item),d(7),ht("ngModel",i.port))},dependencies:[D,gt,zt,mt,pt,st,F,L,$t,Mt,Qe,Ue,O,Y,B,X],styles:[".logo[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;padding:16px 0}.logo[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%]{width:32px;height:32px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background-color:var(--app-gray);border-radius:50%}.logo[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%] nz-icon[_ngcontent-%COMP%]{font-size:20px;color:var(--app-primary-5)}.logo[_ngcontent-%COMP%] h3[_ngcontent-%COMP%]{flex:1 1 auto;font-size:18px;margin:0;font-weight:500}"],changeDetection:0})};var oe=class n{api=k(Qt);preview(e,t){let i=new Ge().set("url",e);return t?.limit&&(i=i.set("limit",String(t.limit))),t?.cacheSec&&(i=i.set("cacheSec",String(t.cacheSec))),t?.force&&(i=i.set("force","1")),this.api.get("/api/rss/preview",i)}static \u0275fac=function(t){return new(t||n)};static \u0275prov=It({token:n,factory:n.\u0275fac,providedIn:"root"})};var Hi=(n,e)=>e.link;function Ai(n,e){if(n&1){let t=M();l(0,"div",6)(1,"div",10),f(2,"\u672A\u914D\u7F6E RSS \u6E90"),h(),l(3,"button",11),z("click",function(){w(t);let s=c();return x(s.openConfig())}),f(4,"\u53BB\u914D\u7F6E"),h()()}}function Xi(n,e){if(n&1){let t=M();l(0,"div",12)(1,"p"),f(2),h(),l(3,"button",2),z("click",function(){w(t);let s=c(2);return x(s.reload(!0))}),f(4,"\u91CD\u8BD5"),h()()}if(n&2){let t=c(2);d(2),A(t.errorMsg())}}function Yi(n,e){if(n&1&&(l(0,"span",17),f(1),Le(2,"date"),h()),n&2){let t=c().$implicit;d(),A(Be(2,1,t.pubDate,"yyyy-MM-dd HH:mm"))}}function Gi(n,e){if(n&1&&(l(0,"span",18),f(1),h()),n&2){let t=c().$implicit;d(),A(t.author)}}function ji(n,e){if(n&1&&(l(0,"a",14)(1,"div",15),f(2),h(),l(3,"div",16),b(4,Yi,3,4,"span",17),b(5,Gi,2,1,"span",18),h()()),n&2){let t=e.$implicit;p("href",t.link,Re),d(2),A(t.title),d(2),_(t.pubDate?4:-1),d(),_(t.author?5:-1)}}function Ui(n,e){if(n&1&&(l(0,"div",13),Q(1,ji,6,4,"a",14,Hi),h()),n&2){let t=c(2);d(),K(t.feedItems())}}function Qi(n,e){if(n&1&&b(0,Xi,5,1,"div",12)(1,Ui,3,0,"div",13),n&2){let t=c();_(t.errorMsg()?0:1)}}function Ki(n,e){if(n&1){let t=M();tt(0),l(1,"div",19)(2,"label"),f(3,"RSS\u6E90\u5730\u5740"),h(),l(4,"nz-input-wrapper")(5,"input",20),ct("ngModelChange",function(s){w(t);let o=c();return dt(o.rssUrl,s)||(o.rssUrl=s),x(s)}),h(),m(6,"nz-icon",21),h()(),et()}if(n&2){let t=c();d(5),ht("ngModel",t.rssUrl)}}function qi(n,e){if(n&1){let t=M();tt(0),l(1,"button",22),z("click",function(){w(t);let s=c();return x(s.save())}),f(2,"\u4FDD\u5B58"),h(),et()}if(n&2){let t=c();d(),p("disabled",!t.rssUrl().trim())}}var re=class n{item;layout=k(it);rss=k(oe);cdr=k(Xt);curConfig=S(null);rssUrl=S("");isModalVisible=S(!1);loading=S(!1);feedTitle=S("");feedItems=S([]);errorMsg=S("");hasConfig=R(()=>!!this.curConfig()?.rssUrl?.trim());ngOnChanges(e){if(e.item&&e.item.currentValue){let t=this.item?.config;this.curConfig.set(t?P({},t):null),t?.rssUrl&&this.reload(!1)}}openConfig(){let e=this.item?.config;this.rssUrl.set(e?.rssUrl??""),this.isModalVisible.set(!0)}reload(e=!0){let t=this.curConfig()??this.item?.config,i=(t?.rssUrl??"").trim();if(!i)return;this.loading.set(!0),this.errorMsg.set("");let s=t?.limit??20,o=t?.cacheSec??300;this.rss.preview(i,{limit:s,cacheSec:o,force:e}).subscribe({next:r=>{this.loading.set(!1),this.feedTitle.set(r.title??""),this.feedItems.set(r.items??[]),this.feedTitle()&&(this.item.title=this.feedTitle(),this.cdr.markForCheck())},error:r=>{this.errorMsg.set(r?.error?.detail||r?.message||"\u52A0\u8F7D\u5931\u8D25"),this.loading.set(!1)}})}save(){let e=this.item.projectId,t=(this.rssUrl()??"").trim();if(!e||!t)return;let i=this.item?.config??{},s=j(P({},i),{rssUrl:t,limit:i.limit??20,cacheSec:i.cacheSec??300});this.item.config=s,this.curConfig.set(s),this.layout.updateConfig(e,this.item.id,s),this.isModalVisible.set(!1),this.reload(!0)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["app-news-feed-widget"]],inputs:{item:"item"},features:[nt],decls:12,vars:5,consts:[[3,"item"],["ngProjectAs","actions",5,["actions"]],["nz-button","","nzType","link","nzSize","small",3,"click"],["nzTheme","outline",3,"nzType"],["nzType","setting","nzTheme","outline"],[1,"news-feed-widget"],[1,"empty"],["nzCentered","","nzTitle","\u914D\u7F6E\u90E8\u4EF6",3,"nzVisibleChange","nzOnCancel","nzVisible","nzMaskClosable"],[4,"nzModalContent"],[4,"nzModalFooter"],[1,"hint"],["nz-button","","nzType","default","nzSize","small",3,"click"],[1,"error"],[1,"list"],["target","_blank","rel","noreferrer",1,"row",3,"href"],[1,"t"],[1,"m"],[1,"d"],[1,"a"],[1,"modal-body"],["nz-input","","placeholder","\u8BF7\u8F93\u5165RSS\u6E90\u5730\u5740",2,"width","100%",3,"ngModelChange","ngModel"],["nzType","global","nzTheme","outline","nzInputPrefix",""],["nz-button","","nzType","primary",3,"click","disabled"]],template:function(t,i){t&1&&(l(0,"app-widget-base",0),tt(1,1),l(2,"button",2),z("click",function(){return i.reload()}),m(3,"nz-icon",3),h(),l(4,"button",2),z("click",function(){return i.openConfig()}),m(5,"nz-icon",4),h(),et(),l(6,"div",5),b(7,Ai,5,0,"div",6)(8,Qi,2,1),h()(),l(9,"nz-modal",7),ct("nzVisibleChange",function(o){return dt(i.isModalVisible,o)||(i.isModalVisible=o),o}),z("nzOnCancel",function(){return i.isModalVisible.set(!1)}),At(10,Ki,7,1,"ng-container",8)(11,qi,3,1,"ng-container",9),h()),t&2&&(p("item",i.item),d(3),p("nzType",i.loading()?"loading":"reload"),d(4),_(i.hasConfig()?8:7),d(2),ht("nzVisible",i.isModalVisible),p("nzMaskClosable",!1))},dependencies:[D,gt,zt,mt,pt,$t,Mt,Gt,Yt,O,Y,B,X,st,Zt,Jt,qt,Kt,F,L,Ye],styles:[".news-feed-widget[_ngcontent-%COMP%]{padding:8px 12px;height:100%;overflow:auto}.empty[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;height:100%;opacity:.75}.list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.row[_ngcontent-%COMP%]{display:block;padding:8px;border-radius:8px;text-decoration:none;border:1px solid rgba(0,0,0,.06)}.row[_ngcontent-%COMP%]:hover{background:#00000005}.t[_ngcontent-%COMP%]{font-size:13px;line-height:1.3;color:#000000e0}.m[_ngcontent-%COMP%]{margin-top:4px;display:flex;gap:10px;font-size:12px;color:#00000073}.error[_ngcontent-%COMP%]{display:flex;gap:8px;flex-direction:column;align-items:center;justify-content:center;color:#d4380d}.error[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{width:100%;white-space:pre-wrap;word-break:break-word}.loading[_ngcontent-%COMP%]{display:flex;gap:8px;align-items:center;opacity:.75}.modal-body[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.modal-body[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{flex:0 0 auto;margin-right:16px;display:inline-block;width:100px}.modal-body[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{flex:1;margin-left:16px}"]})};var Ji=(n,e)=>e.value;function Zi(n,e){if(n&1){let t=M();m(0,"nz-icon",9),l(1,"button",10),z("click",function(){w(t);let s=c(2);return x(s.openConfig())}),f(2,"\u914D\u7F6E\u90E8\u4EF6"),h()}}function ts(n,e){n&1&&m(0,"nz-badge",15)}function es(n,e){n&1&&m(0,"nz-badge",16)}function is(n,e){n&1&&m(0,"nz-badge",17)}function ss(n,e){if(n&1){let t=M();l(0,"div",11)(1,"div",12)(2,"div",13),m(3,"nz-icon",14),b(4,ts,1,0,"nz-badge",15)(5,es,1,0,"nz-badge",16)(6,is,1,0,"nz-badge",17),h(),l(7,"div",18)(8,"div",19),f(9),h(),l(10,"div",20),f(11),h()()()(),l(12,"div",21)(13,"app-task-actions",22),z("toggle",function(){w(t);let s=c(2);return x(s.toggleTask())}),h(),l(14,"button",23),z("click",function(){w(t);let s=c(2);return x(s.goToTask())}),m(15,"nz-icon",24),f(16," \u524D\u5F80\u4EFB\u52A1\u9875 "),h()()}if(n&2){let t,i,s,o,r=c(2);d(),p("nz-tooltip",((t=r.curConfig())==null?null:t.description)??""),d(3),_(r.curRuntime().status==="running"?4:r.curRuntime().status==="stopping"?5:6),d(4),p("title",(i=r.curConfig())==null?null:i.taskName),d(),A((s=r.curConfig())==null?null:s.taskName),d(2),_t(" ",r.curRuntime().status==="running"?"\u8FD0\u884C\u4E2D":r.curRuntime().status==="stopping"?"\u505C\u6B62\u4E2D":r.curRuntime().status==="stopped"?"\u5DF2\u505C\u6B62":((o=r.curConfig())==null?null:o.description)||"\u7A7A\u95F2\u4E2D"," "),d(2),p("isRunning",r.isRunning())("isStopping",r.isStopping())("isStopped",r.isStopped())}}function ns(n,e){if(n&1&&(l(0,"div",8),b(1,Zi,3,0)(2,ss,17,8),h()),n&2){let t=c();xt("no-config",t.curConfig()===null),d(),_(t.curConfig()===null?1:2)}}function os(n,e){if(n&1&&m(0,"nz-option",27),n&2){let t=e.$implicit;p("nzLabel",t.label)("nzValue",t.value)}}function rs(n,e){if(n&1){let t=M();tt(0),l(1,"div",25)(2,"label"),f(3,"\u9009\u62E9\u4E00\u9879\u4EFB\u52A1"),h(),l(4,"nz-select",26),ct("ngModelChange",function(s){w(t);let o=c();return dt(o.selectedTaskId,s)||(o.selectedTaskId=s),x(s)}),Q(5,os,1,2,"nz-option",27,Ji),h()(),et()}if(n&2){let t=c();d(4),ht("ngModel",t.selectedTaskId),p("nzLoading",t.loading())("nzDisabled",t.loading()),d(),K(t.taskOptions())}}function ls(n,e){if(n&1){let t=M();tt(0),l(1,"button",28),z("click",function(){w(t);let s=c();return x(s.save())}),f(2,"\u4FDD\u5B58"),h(),et()}if(n&2){let t=c();d(),p("disabled",!t.selectedTaskId)}}var le=class n{item;taskState=k(ii);layout=k(it);router=k(je);isModalVisible=S(!1);loading=S(!1);curConfig=S(null);curRuntime=R(()=>{let e=this.curConfig();if(!e)return{status:"idle"};let t=e.taskId;return this.taskState.getRuntime(t)||{status:"idle"}});isRunning=R(()=>this.curRuntime().status==="running");isStopping=R(()=>this.curRuntime().status==="stopping");isStopped=R(()=>{let e=this.curRuntime().status;return e==="idle"||e==="stopped"||e==="failed"||e==="success"});selectedTaskId="";rowsOfProject=R(()=>{let e=this.item.projectId;return e?this.taskState.rowsViewOf(e)():[]});taskOptions=R(()=>this.rowsOfProject().map(t=>({value:t.spec.id,label:t.spec.name??t.spec.id,description:t.spec.description??""})));ngOnChanges(e){if(e.item){let t=this.item?.config;this.curConfig.set(t?P({},t):null)}}async openConfig(){let e=this.item.projectId;if(!e){this.isModalVisible.set(!1);return}let t=this.item?.config;this.selectedTaskId=t?.taskId??"",this.isModalVisible.set(!0),this.loading.set(!0);try{await this.taskState.ensureProjectLoaded(e)}finally{this.loading.set(!1)}}save(){let e=this.item.projectId,t=(this.selectedTaskId??"").trim();if(!e||!t)return;let i=this.rowsOfProject().find(a=>a.spec.id===t),s=i?.spec.name??"",o=i?.spec.description??"",r={taskId:t,taskName:s,description:o};this.item.config=r,this.curConfig.set(r),this.layout.updateConfig(e,this.item.id,r),this.isModalVisible.set(!1)}toggleTask(){if(this.curConfig()==null||!this.curConfig().taskId)return;let e=this.curConfig().taskId;this.isRunning()?this.taskState.stopSelected(e):this.isStopped()&&this.taskState.startSelected(e),this.goToTask()}async goToTask(){let e=this.curConfig();if(!e)return;let t=e.taskId;this.taskState.select(t),await this.router.navigate(["/tasks"])}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["app-quick-task-widget"]],inputs:{item:"item"},features:[nt],decls:8,vars:4,consts:[[3,"item"],["ngProjectAs","actions",5,["actions"]],["nz-button","","nzType","link","nzSize","small",3,"click"],["nzType","setting","nzTheme","outline"],[1,"configured-info",3,"no-config"],["nzCentered","","nzTitle","\u914D\u7F6E\u90E8\u4EF6",3,"nzVisibleChange","nzOnCancel","nzVisible","nzMaskClosable"],[4,"nzModalContent"],[4,"nzModalFooter"],[1,"configured-info"],["nzType","setting","nzTheme","fill"],["nz-button","","nzType","primary",3,"click"],[1,"item"],["nzTooltipPlacement","right",1,"row",3,"nz-tooltip"],[1,"icon"],["nzType","codepen-circle","nzTheme","outline"],["nzStatus","processing"],["nzStatus","warning"],["nzStatus","default"],[1,"info"],[1,"name",3,"title"],[1,"description"],[1,"actions"],[3,"toggle","isRunning","isStopping","isStopped"],["nz-button","","nzType","default",3,"click"],["nzType","schedule","nzTheme","outline"],[1,"modal-body"],["nzPlaceHolder","\u8BF7\u9009\u62E9\u4EFB\u52A1",2,"width","100%",3,"ngModelChange","ngModel","nzLoading","nzDisabled"],[3,"nzLabel","nzValue"],["nz-button","","nzType","primary",3,"click","disabled"]],template:function(t,i){t&1&&(l(0,"app-widget-base",0),tt(1,1),l(2,"button",2),z("click",function(){return i.openConfig()}),m(3,"nz-icon",3),h(),et(),b(4,ns,3,3,"div",4),h(),l(5,"nz-modal",5),ct("nzVisibleChange",function(o){return dt(i.isModalVisible,o)||(i.isModalVisible=o),o}),z("nzOnCancel",function(){return i.isModalVisible.set(!1)}),At(6,rs,7,3,"ng-container",6)(7,ls,3,1,"ng-container",7),h()),t&2&&(p("item",i.item),d(4),_(i.item.configurable?4:-1),d(),ht("nzVisible",i.isModalVisible),p("nzMaskClosable",!1))},dependencies:[D,gt,mt,pt,st,O,Y,B,X,F,L,Zt,Jt,qt,Kt,oi,si,ni,li,ri,Ut,jt,ai],styles:[".configured-info[_ngcontent-%COMP%]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;width:100%;height:100%}.configured-info.no-config[_ngcontent-%COMP%]{gap:20px}.configured-info.no-config[_ngcontent-%COMP%] nz-icon[_ngcontent-%COMP%]{font-size:48px;color:var(--app-gray)}.configured-info[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;width:100%;justify-content:center;gap:8px}.item[_ngcontent-%COMP%]{width:100%;padding:12px 16px;cursor:pointer}.item[_ngcontent-%COMP%]:hover, .item.active[_ngcontent-%COMP%]{background:var(--app-primary-3)}.item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{display:flex;gap:10px;align-items:center;overflow:hidden;justify-content:space-between}.item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{font-size:36px;flex:0 0 auto;position:relative}.item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .info[_ngcontent-%COMP%]{flex:1 1 auto;display:flex;flex-direction:column;gap:4px;overflow:hidden}.item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .info[_ngcontent-%COMP%] .description[_ngcontent-%COMP%]{font-size:13px;color:var(--app-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.item[_ngcontent-%COMP%] .badge[_ngcontent-%COMP%]{font-size:12px;padding:2px 8px;border-radius:999px;border:1px solid rgba(0,0,0,.2);opacity:.85}.item[_ngcontent-%COMP%] .badge[data-status=running][_ngcontent-%COMP%]{font-weight:700}.item[_ngcontent-%COMP%] .badge[data-status=stopped][_ngcontent-%COMP%]{opacity:.7}.item[_ngcontent-%COMP%] .badge[data-status=failed][_ngcontent-%COMP%]{font-weight:700}.item[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%]{margin-top:6px;font-size:12px;opacity:.75;display:flex;align-items:center;gap:6px}.item[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%] .mono[_ngcontent-%COMP%]{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,Liberation Mono,monospace}.item[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%] .sep[_ngcontent-%COMP%]{opacity:.5}.modal-body[_ngcontent-%COMP%]{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.modal-body[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{flex:0 0 auto;margin-right:16px;display:inline-block;width:120px}.modal-body[_ngcontent-%COMP%] nz-select[_ngcontent-%COMP%]{flex:1;margin-left:16px}"]})};var ae=class n{item;static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["app-welcome-widget"]],inputs:{item:"item"},decls:20,vars:1,consts:[[3,"item"],[1,"logo"],["nzType","proj:angular","nzTheme","outline"],[1,"item"],[1,"icon-wrapper"],["nzType","appstore","nzTheme","outline"],["nzType","arrow-left","nzTheme","outline"],["nzType","home","nzTheme","outline"]],template:function(t,i){t&1&&(l(0,"app-widget-base",0)(1,"div",1),m(2,"nz-icon",2),h(),l(3,"h2"),f(4,"\u6B22\u8FCE\u6765\u5230\u65B0\u9879\u76EE\uFF01"),h(),l(5,"div",3)(6,"div",4),m(7,"nz-icon",5),h(),l(8,"p"),f(9,"\u8FD9\u91CC\u662F\u9879\u76EE\u4EEA\u8868\u76D8\uFF0C\u4F60\u53EF\u4EE5\u70B9\u51FB\u53F3\u4E0A\u65B9\u7684\u201C\u81EA\u5B9A\u4E49\u201D\u6309\u94AE\u6765\u6DFB\u52A0\u90E8\u4EF6\u3002\u4F60\u7684\u6539\u52A8\u5C06\u4F1A\u81EA\u52A8\u4FDD\u5B58\u3002"),h()(),l(10,"div",3)(11,"div",4),m(12,"nz-icon",6),h(),l(13,"p"),f(14,"\u5DE6\u4FA7\u662F\u5404\u4E2A\u7BA1\u7406\u9875\u9762\u3002\u5728\u300C\u63D2\u4EF6\u300D\u9875\u9762\u53EF\u4EE5\u6DFB\u52A0\u65B0\u7684 Vue CLI \u63D2\u4EF6\uFF0C\u300C\u4F9D\u8D56\u300D\u9875\u9762\u7528\u4E8E\u7BA1\u7406\u9879\u76EE\u7684\u4F9D\u8D56\u5305\uFF0C\u300C\u914D\u7F6E\u300D\u9875\u9762\u7528\u4E8E\u914D\u7F6E\u5404\u79CD\u5DE5\u5177\uFF0C\u300C\u4EFB\u52A1\u300D\u9875\u9762\u7528\u4E8E\u8FD0\u884C\u5404\u4E2A\u811A\u672C\uFF08\u6BD4\u5982 webpack \u6253\u5305\uFF09\u3002"),h()(),l(15,"div",3)(16,"div",4),m(17,"nz-icon",7),h(),l(18,"p"),f(19,"\u70B9\u51FB\u5DE6\u4E0A\u65B9\u7684\u4E0B\u62C9\u83DC\u5355\u6216\u72B6\u6001\u680F\u4E0A\u7684\u5C0F\u623F\u5B50\u6309\u94AE\u6765\u8FD4\u56DE\u5230\u9879\u76EE\u7BA1\u7406\u5668\u3002"),h()()()),t&2&&p("item",i.item)},dependencies:[D,F,L,O,B,st],styles:[".logo[_ngcontent-%COMP%]{width:70px;height:70px;border-radius:50%;background-color:var(--app-primary-2);display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.logo[_ngcontent-%COMP%] nz-icon[_ngcontent-%COMP%]{font-size:50px}h2[_ngcontent-%COMP%]{text-align:center;font-weight:600}.item[_ngcontent-%COMP%]{display:flex;flex-direction:row;align-items:center;padding:24px 16px}.item[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%]{width:50px;height:50px;margin-right:12px;flex:0 0 auto;background-color:var(--app-gray);border-radius:50%;display:flex;align-items:center;justify-content:center}.item[_ngcontent-%COMP%] .icon-wrapper[_ngcontent-%COMP%] nz-icon[_ngcontent-%COMP%]{font-size:24px;color:var(--app-primary-5)}"]})};function as(n,e){if(n&1&&m(0,"app-welcome-widget",0),n&2){let t=c(2);p("item",t.item)}}function hs(n,e){if(n&1&&m(0,"app-quick-task-widget",0),n&2){let t=c(2);p("item",t.item)}}function ds(n,e){if(n&1&&m(0,"app-kill-port-widget",0),n&2){let t=c(2);p("item",t.item)}}function cs(n,e){if(n&1&&m(0,"app-news-feed-widget",0),n&2){let t=c(2);p("item",t.item)}}function ms(n,e){if(n&1&&b(0,as,1,1,"app-welcome-widget",0)(1,hs,1,1,"app-quick-task-widget",0)(2,ds,1,1,"app-kill-port-widget",0)(3,cs,1,1,"app-news-feed-widget",0),n&2){let t,i=c();_((t=i.item.key)==="welcome"?0:t==="quickTasks"?1:t==="killPort"?2:t==="newsFeed"?3:-1)}}var he=class n{item;editMode=!1;static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["app-widget-host"]],inputs:{item:"item",editMode:"editMode"},decls:1,vars:1,consts:[[3,"item"]],template:function(t,i){t&1&&b(0,ms,4,1),t&2&&_(i.item?0:-1)},dependencies:[D,ae,le,ne,re],styles:["[_nghost-%COMP%]{display:block;width:100%;height:100%}.widget-shell[_ngcontent-%COMP%]{width:100%;height:100%}.widget-shell[data-fit=scroll][_ngcontent-%COMP%]{overflow:auto}.widget-shell[data-fit=responsive][_ngcontent-%COMP%], .widget-shell[data-fit=scale][_ngcontent-%COMP%]{overflow:hidden}.widget-scale[_ngcontent-%COMP%]{width:100%;height:100%}"]})};var ps=(n,e)=>e.id;function gs(n,e){if(n&1){let t=M();l(0,"div",5)(1,"button",6),m(2,"i",7),f(3),h()(),l(4,"button",8),z("click",function(){w(t);let s=c().$implicit,o=c();return x(o.remove.emit(s.id))}),m(5,"nz-icon",9),h()}if(n&2){let t=c().$implicit;d(2),p("nzType",t.icon||"appstore"),d(),_t(" ",t.title," ")}}function us(n,e){if(n&1&&(l(0,"gridster-item",1)(1,"div",2),b(2,gs,6,2),l(3,"div",3),m(4,"app-widget-host",4),h()()()),n&2){let t=e.$implicit,i=c();p("item",t),d(),xt("edit-mode",i.editMode),d(),_(i.editMode?2:-1),d(2),p("item",t)("editMode",i.editMode)}}var de=class n{editMode=!1;items=[];itemsChange=new ot;remove=new ot;patch=new Map;itemChange=(e,t)=>{let i=t.item.id;i&&this.patch.set(i,{x:e.x??t.item.x,y:e.y??t.item.y,cols:e.cols??t.item.cols,rows:e.rows??t.item.rows})};itemResize=(e,t)=>{};options={gridType:g.Fixed,fixedColWidth:90,fixedRowHeight:90,margin:10,outerMargin:!0,compactType:v.None,pushItems:!0,displayGrid:se.None,resizable:{enabled:!0,stop:()=>this.emitSync()},draggable:{enabled:!1,stop:()=>this.emitSync()},itemChangeCallback:this.itemChange,itemResizeCallback:this.itemResize};ngOnChanges(e){let t=e.editMode;t&&t.currentValue!=t.previousValue&&(this.options=j(P({},this.options),{draggable:j(P({},this.options.draggable),{enabled:this.editMode}),resizable:j(P({},this.options.resizable),{enabled:this.editMode}),fixedColWidth:this.editMode?70:90,fixedRowHeight:this.editMode?70:90}))}emitSync(){let e=this.items.map(t=>{let i=this.patch.get(t.id);return i?P(P({},t),i):t});this.patch.clear(),this.itemsChange.emit(e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["app-dashboard-canvas"]],inputs:{editMode:"editMode",items:"items"},outputs:{itemsChange:"itemsChange",remove:"remove"},features:[nt],decls:3,vars:1,consts:[[3,"options"],[3,"item"],[1,"card"],[1,"card-body"],[3,"item","editMode"],["aria-hidden","true",1,"card-overlay"],["nz-button","","nzType","primary","nzSize","large"],["nz-icon","","nzTheme","outline",3,"nzType"],["nz-button","","nzType","text","nzSize","small","nz-tooltip","\u79FB\u9664\u90E8\u4EF6",1,"remove-button",3,"click"],["nzType","close","nzTheme","outline"]],template:function(t,i){t&1&&(l(0,"gridster",0),Q(1,us,5,6,"gridster-item",1,ps),h()),t&2&&(p("options",i.options),d(),K(i.items))},dependencies:[D,O,Y,B,X,F,L,_e,xi,he,jt],styles:["[_nghost-%COMP%]{display:block;height:100%}gridster[_ngcontent-%COMP%]{display:block;height:100%;background:var(--app-primary-1)}gridster-item[_ngcontent-%COMP%]{border-radius:10px}.card[_ngcontent-%COMP%]{height:100%;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000000f;overflow:hidden;position:relative}.card.edit-mode[_ngcontent-%COMP%]{-webkit-user-select:none;user-select:none}.card-overlay[_ngcontent-%COMP%]{position:absolute;inset:0;background:#ffffff8c;display:flex;justify-content:center;align-items:center;pointer-events:none;z-index:2}.remove-button[_ngcontent-%COMP%]{position:absolute;right:16px;top:16px;z-index:3;background:var(--app-primary-1);color:var(--app-primary);transition:all .3s}.remove-button[_ngcontent-%COMP%]:hover{background:var(--app-primary);color:#fff}.card-overlay[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{pointer-events:none;border-radius:20px}.title[_ngcontent-%COMP%]{font-size:12px;color:#000000bf}.card-body[_ngcontent-%COMP%]{position:relative;height:100%}.card.edit-mode[_ngcontent-%COMP%] .card-body[_ngcontent-%COMP%]{cursor:move;pointer-events:none;opacity:.8}"]})};var fs=["class","component"],vi=class n{projectState=k(ei);layout=k(it);envInjector=k(De);projectId=R(()=>this.projectState.currentProjectId()||"");editMode=S(!1);items=R(()=>this.layout.items());constructor(){He(()=>{let e=this.projectId();e&&(Ve(()=>this.layout.load(e)),Ee(this.envInjector,()=>{Fe(()=>{queueMicrotask(()=>this.editMode.set(!1))})}))})}toggleEdit(){let e=!this.editMode();this.editMode.set(e),e?this.layout.getWidgets():this.layout.flushSave(this.projectId())}onItemsChange(e){this.layout.setItems(this.projectId(),e)}static \u0275fac=function(t){return new(t||n)};static \u0275cmp=T({type:n,selectors:[["app-dashboard",8,"component"]],hostVars:2,hostBindings:function(t,i){t&2&&xt("collapsed",i.editMode())},attrs:fs,decls:14,vars:8,consts:[[3,"title","isFullscreen"],["ngProjectAs","actions",5,["actions"]],["nz-button","","nzType","primary",3,"click"],["nzTheme","outline",3,"nzType"],[3,"itemsChange","remove","editMode","items"],[1,"side-panel"],[1,"side-header"],[1,"title"],["nz-button","","nzType","text",3,"click"],["nzType","close"],[1,"side-body"],[3,"add"]],template:function(t,i){t&1&&(l(0,"app-page-layout",0),tt(1,1),l(2,"button",2),z("click",function(){return i.toggleEdit()}),m(3,"nz-icon",3),f(4),h(),et(),l(5,"app-dashboard-canvas",4),z("itemsChange",function(o){return i.onItemsChange(o)})("remove",function(o){return i.layout.remove(o)}),h()(),l(6,"div",5)(7,"div",6)(8,"div",7),f(9,"\u6DFB\u52A0\u90E8\u4EF6"),h(),l(10,"button",8),z("click",function(){return i.editMode.set(!1)}),m(11,"nz-icon",9),h()(),l(12,"div",10)(13,"app-add-widget-drawer",11),z("add",function(o){return i.layout.add(o)}),h()()()),t&2&&(p("title","\u9879\u76EE\u4EEA\u8868\u76D8")("isFullscreen",!0),d(3),p("nzType",i.editMode()?"check":"edit"),d(),_t(" ",i.editMode()?"\u5B8C\u6210":"\u81EA\u5B9A\u4E49"," "),d(),p("editMode",i.editMode())("items",i.items()),d(),xt("open",i.editMode()))},dependencies:[D,O,Y,B,X,F,L,Ke,qe,Je,de,ee],styles:["[_nghost-%COMP%]{height:100%;display:block;position:relative;transition:width .2s}.collapsed[_nghost-%COMP%]{width:calc(100% - 360px)}.side-panel[_ngcontent-%COMP%]{position:fixed;top:0;right:0;height:100vh;width:360px;background:#fff;box-shadow:-8px 0 24px #0000001f;transform:translate(100%);transition:transform .2s ease;z-index:1000;display:flex;flex-direction:column}.side-panel.open[_ngcontent-%COMP%]{transform:translate(0)}.side-header[_ngcontent-%COMP%]{height:56px;padding:0 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(0,0,0,.06)}.side-body[_ngcontent-%COMP%]{flex:1;overflow:hidden}"]})};export{vi as DashboardComponent};
|