@yinuo-ngm/server 1.0.22 → 1.0.24
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/lib/modules/agent-connections/agent-connections.schema.d.ts +4 -0
- package/lib/modules/agent-connections/agent-connections.schema.js +112 -0
- package/lib/modules/agent-connections/agent-connections.service.d.ts +18 -0
- package/lib/modules/agent-connections/agent-connections.service.js +209 -0
- package/lib/modules/agent-connections/agent-connections.types.d.ts +57 -0
- package/lib/modules/agent-connections/agent-connections.types.js +2 -0
- package/lib/modules/agent-connections/atomic-json-file.d.ts +8 -0
- package/lib/modules/agent-connections/atomic-json-file.js +44 -0
- package/lib/modules/agent-connections/token-mask.d.ts +1 -0
- package/lib/modules/agent-connections/token-mask.js +12 -0
- package/lib/routes/agent-connections.routes.d.ts +3 -0
- package/lib/routes/agent-connections.routes.js +28 -0
- package/lib/routes/index.js +2 -0
- package/package.json +7 -6
- package/www/3rdpartylicenses.txt +5 -5
- package/www/browser/chunk-2EB7UV3S.js +15 -0
- package/www/browser/{chunk-3I7BQCXS.js → chunk-2S6Y2RQI.js} +1 -1
- package/www/browser/{chunk-U3EUR236.js → chunk-2SYBXRWK.js} +1 -1
- package/www/browser/{chunk-OUGN4APK.js → chunk-365ZCRSD.js} +1 -1
- package/www/browser/{chunk-6UFDNETG.js → chunk-3MPEGFKP.js} +1 -1
- package/www/browser/{chunk-WCHN62X6.js → chunk-4PSSTE76.js} +1 -1
- package/www/browser/{chunk-DENFXXOY.js → chunk-5HVK6MON.js} +1 -1
- package/www/browser/{chunk-TXAXE73U.js → chunk-5Y7KNVNN.js} +1 -1
- package/www/browser/chunk-6L2CHHFV.js +1 -0
- package/www/browser/{chunk-NNOWADVM.js → chunk-6ZXQKFRQ.js} +1 -1
- package/www/browser/chunk-735SLX4X.js +1 -0
- package/www/browser/chunk-7KLACOZT.js +2 -0
- package/www/browser/chunk-7VJKEZTT.js +20 -0
- package/www/browser/{chunk-CO3CQHKV.js → chunk-7X4X4YHI.js} +1 -1
- package/www/browser/chunk-ACYCDF6M.js +1 -0
- package/www/browser/{chunk-UJKK4A7Y.js → chunk-AQYHNHJ3.js} +1 -1
- package/www/browser/chunk-BHKSOTOM.js +1 -0
- package/www/browser/{chunk-3ODVU46S.js → chunk-BXZVX5KD.js} +1 -1
- package/www/browser/{chunk-TCBOC5FF.js → chunk-C5DOE7UG.js} +1 -1
- package/www/browser/{chunk-7AKVG375.js → chunk-C6GC5OOE.js} +1 -1
- package/www/browser/{chunk-SSCUT2GF.js → chunk-D5W7J3FS.js} +1 -1
- package/www/browser/chunk-DPGKZHEW.js +1 -0
- package/www/browser/chunk-DRV2KPHO.js +1 -0
- package/www/browser/chunk-E2WRB7KQ.js +2 -0
- package/www/browser/{chunk-MPLGMTLT.js → chunk-EAFAHVBG.js} +1 -1
- package/www/browser/{chunk-WWIPELAV.js → chunk-ERH36Q6S.js} +1 -1
- package/www/browser/chunk-GSUKZOEV.js +1 -0
- package/www/browser/chunk-GYXK6ZZT.js +1 -0
- package/www/browser/{chunk-PDI3HSSH.js → chunk-H27FQ6OP.js} +3 -3
- package/www/browser/chunk-I7RTVSMK.js +1 -0
- package/www/browser/{chunk-SD2HFD54.js → chunk-IVX3LVU4.js} +1 -1
- package/www/browser/{chunk-U2YWR3HF.js → chunk-IX6UZA7J.js} +1 -1
- package/www/browser/{chunk-CPJTSA6E.js → chunk-JFR7U5DE.js} +1 -1
- package/www/browser/chunk-JIVQNGBJ.js +1 -0
- package/www/browser/{chunk-PY3AUTHC.js → chunk-KDMWEV46.js} +1 -1
- package/www/browser/{chunk-JM6DCZP6.js → chunk-LRHJZDWY.js} +1 -1
- package/www/browser/chunk-NVN2P466.js +1 -0
- package/www/browser/{chunk-NREWZQVN.js → chunk-O64FT2TA.js} +1 -1
- package/www/browser/{chunk-YVRGRFK2.js → chunk-OZONPLGN.js} +1 -1
- package/www/browser/chunk-PC7TJLCL.js +2 -0
- package/www/browser/{chunk-7GLWEFTM.js → chunk-PNFC3J4Z.js} +1 -1
- package/www/browser/chunk-PRKDURHI.js +1 -0
- package/www/browser/{chunk-RMIYLAEM.js → chunk-PUHSNEN6.js} +1 -1
- package/www/browser/{chunk-442QFABJ.js → chunk-RKKAY5CD.js} +1 -1
- package/www/browser/{chunk-M6NZ6C2R.js → chunk-RLH7DAA2.js} +1 -1
- package/www/browser/chunk-S6BY2OTR.js +1 -0
- package/www/browser/{chunk-KRYMOHYF.js → chunk-SIKDYQOR.js} +1 -1
- package/www/browser/{chunk-RKK4I2RT.js → chunk-SVRGVAFE.js} +1 -1
- package/www/browser/chunk-TPVKLECM.js +1 -0
- package/www/browser/{chunk-UPOORT3S.js → chunk-VBMHQZWH.js} +1 -1
- package/www/browser/chunk-WVRMU265.js +1 -0
- package/www/browser/chunk-X6PRUZ5G.js +1 -0
- package/www/browser/{chunk-PUG3VNTI.js → chunk-XQQ6PT2E.js} +1 -1
- package/www/browser/chunk-XUUNCF53.js +1 -0
- package/www/browser/{chunk-4BRW6LCZ.js → chunk-YGWA6NUS.js} +1 -1
- package/www/browser/{chunk-2VJVGBXG.js → chunk-YNYWN7QI.js} +1 -1
- package/www/browser/chunk-Z4T3LTE2.js +1 -0
- package/www/browser/chunk-Z7GYTPTP.js +1 -0
- package/www/browser/chunk-ZZN3NP7F.js +1 -0
- package/www/browser/index.html +1 -1
- package/www/browser/main-HMOP3OWL.js +38 -0
- package/www/browser/chunk-6J6G7JEP.js +0 -1
- package/www/browser/chunk-7QR6RHLA.js +0 -1
- package/www/browser/chunk-H2USFIYR.js +0 -1
- package/www/browser/chunk-HC5KLPHD.js +0 -1
- package/www/browser/chunk-HJAP6WBI.js +0 -1
- package/www/browser/chunk-K6C5ZIV2.js +0 -20
- package/www/browser/chunk-MBPB43C6.js +0 -1
- package/www/browser/chunk-PB2LGZNW.js +0 -1
- package/www/browser/chunk-R4HSZU2J.js +0 -1
- package/www/browser/chunk-RZA3IFQV.js +0 -2
- package/www/browser/chunk-SEJGGBE2.js +0 -1
- package/www/browser/chunk-TS5ZQYYY.js +0 -1
- package/www/browser/chunk-TVJHI463.js +0 -1
- package/www/browser/chunk-UKCMUTYL.js +0 -1
- package/www/browser/chunk-VW3S7C2Z.js +0 -1
- package/www/browser/chunk-VZYJ3MSW.js +0 -15
- package/www/browser/chunk-WUA5JFDD.js +0 -1
- package/www/browser/chunk-WYNERG74.js +0 -2
- package/www/browser/chunk-XJDJL3TQ.js +0 -1
- package/www/browser/chunk-YV6QPLF5.js +0 -1
- package/www/browser/main-7GYUOEJY.js +0 -38
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as $t,B as Ji,C as et,D as eo,a as ji,b as Ui,c as qi,d as $i,e as Wi,f as Qi,g as Hi,h as Vt,i as Rt,j as Ki,k as Yi,l as Je,q as te,r as Oe,t as Fe,u as jt,v as Ut,w as qt,x as Gi,y as Xi,z as Zi}from"./chunk-RZA3IFQV.js";import{c as Xe,d as Ze}from"./chunk-RKK4I2RT.js";import"./chunk-6UFDNETG.js";import{a as Ei,b as Pi,c as Ai,h as Oi,j as Fi}from"./chunk-WWIPELAV.js";import{a as At,b as Ot}from"./chunk-HC5KLPHD.js";import{a as Li,b as ki,c as Vi}from"./chunk-DENFXXOY.js";import{a as Ri,e as kt}from"./chunk-7QR6RHLA.js";import{a as pi,b as di,c as gi}from"./chunk-6J6G7JEP.js";import{b as Bi}from"./chunk-MPLGMTLT.js";import{c as Ft}from"./chunk-7AKVG375.js";import{a as wi,b as Ni}from"./chunk-2VJVGBXG.js";import{a as Bt,b as Lt}from"./chunk-WCHN62X6.js";import{a as Ye,b as Ge}from"./chunk-CO3CQHKV.js";import{d as Di}from"./chunk-NNOWADVM.js";import"./chunk-RMIYLAEM.js";import{b as ui}from"./chunk-MBPB43C6.js";import{a as Ti,b as Pt,c as Ke,d as Pe,e as Ae,f as ge}from"./chunk-CPJTSA6E.js";import{b as Tt,c as fi,d as _i,e as xi,f as Si,g as Mi}from"./chunk-TXAXE73U.js";import"./chunk-SD2HFD54.js";import{g as We,h as oe,i as Mt,j as re,k as se,l as j}from"./chunk-U2YWR3HF.js";import"./chunk-PB2LGZNW.js";import{k as Et,m as Ne,n as Ee}from"./chunk-K6C5ZIV2.js";import{$b as Ii,Ab as vi,B as ii,C as wn,Db as ae,Ea as Z,F as oi,Fa as K,Fb as U,Ga as we,Gb as Dt,H as ri,Ha as $e,Ib as wt,Jb as q,Kb as Nt,L as de,Na as L,Oa as J,Qa as ee,Ra as A,Rb as zi,Tb as B,Xb as bi,Zb as le,a as qe,ac as Y,ca as si,dc as Qe,fc as He,ka as ai,oa as li,pa as St,s as xt,u as ni,wa as ci,xa as mi,xb as Ci,yb as hi,zb as yi}from"./chunk-VZYJ3MSW.js";import"./chunk-HFZLJHYR.js";import{c as ei,e as ti,h as Dn}from"./chunk-WUA5JFDD.js";import{i as ze,m as De,n as H}from"./chunk-KRYMOHYF.js";import{$b as w,Ac as V,B as Ln,Ba as $n,Bb as Ct,Bc as Xn,Ca as Wn,D as kn,Da as xe,Dc as Zn,Ec as Q,Fb as I,Fc as Ue,G as Vn,Gb as ue,Gc as pe,H as bn,Ha as b,Hb as Ce,Jb as Yn,Jc as u,Kc as T,L as ft,Lb as S,Lc as x,Mb as ht,Oa as at,Oc as vt,Pa as Qn,Pc as zt,Qc as bt,Ra as Re,Ub as Gn,V as Rn,Wb as h,Xc as It,Yb as y,Yc as Mn,Zb as yt,Zc as lt,_b as ne,_c as Tn,a as X,ac as N,ad as ye,b as vn,bc as m,cc as s,cd as ve,da as _t,dc as a,dd as G,ea as jn,ec as v,fc as xn,g as Fn,gc as Sn,ic as O,id as C,ja as Un,jc as F,jd as R,kb as je,kc as ke,l as zn,lc as M,m as Bn,ma as qn,na as ce,nb as r,nd as D,oa as me,od as p,qd as Jn,rc as _,sa as z,sb as _e,t as fe,tb as In,u as gt,uc as c,ud as Me,vb as Hn,vc as W,wb as Se,wc as E,xc as ie,ya as g,yb as Kn,yc as he,yd as Te,za as f,zc as k}from"./chunk-4BRW6LCZ.js";var xo=(i,t)=>t.id;function So(i,t){if(i&1&&(s(0,"div")(1,"div",3)(2,"span"),u(3,"\u534F\u4F5C\u4EBA\uFF08\u53EF\u591A\u9009\uFF09"),a(),s(4,"div",4),u(5),a()()()),i&2){let e=c();r(5),x(" ",e.issue()?e.issue().title:"\u9009\u62E9\u534F\u4F5C\u4EBA"," ")}}function Mo(i,t){if(i&1&&v(0,"nz-option",7),i&2){let e=t.$implicit;m("nzLabel",e.displayName)("nzValue",e.userId)}}function To(i,t){if(i&1){let e=M();O(0),s(1,"p",5),u(2,"\u534F\u4F5C\u4EBA:"),a(),s(3,"nz-select",6),_("ngModelChange",function(o){g(e);let l=c();return f(l.onSelectedChange(o))}),w(4,Mo,1,2,"nz-option",7,xo),a(),F()}if(i&2){let e=c();r(3),m("ngModel",e.selectedUserIds()),r(),N(e.memberOptions())}}var Wt=class i{open=p(!1);busy=p(!1);issue=p(null);members=p([]);participants=p([]);cancel=D();confirm=D();selectedUserIds=b([]);disabledSubmit=C(()=>this.selectedUserIds().length===0);memberOptions=C(()=>this.members().filter(t=>{let n=this.participants().find(o=>o.userId===t.userId);return t.userId!==this.issue()?.assigneeId&&!n}));constructor(){R(()=>{this.open()&&this.selectedUserIds.set([])})}confirmSubmit(){let t=[...new Set(this.selectedUserIds().map(e=>e.trim()).filter(Boolean))];t.length!==0&&this.confirm.emit({userIds:t})}onSelectedChange(t){this.selectedUserIds.set(Array.isArray(t)?t:[])}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-add-participants-dialog"]],inputs:{open:[1,"open"],busy:[1,"busy"],issue:[1,"issue"],members:[1,"members"],participants:[1,"participants"]},outputs:{cancel:"cancel",confirm:"confirm"},decls:3,vars:5,consts:[["nzOkText","\u6DFB\u52A0\u534F\u4F5C\u4EBA",3,"nzOnCancel","nzOnOk","nzVisible","nzClosable","nzMaskClosable","nzOkLoading","nzOkDisabled"],[4,"nzModalTitle"],[4,"nzModalContent"],[1,"modal-title"],[1,"modal-subtitle"],[1,"label"],["nzShowSearch","","nzPlaceHolder","\u9009\u62E9\u9879\u76EE\u6210\u5458\uFF08\u8D1F\u8D23\u4EBA\u4E0D\u53EF\u9009\uFF09","nzMode","multiple",1,"select",3,"ngModelChange","ngModel"],[3,"nzLabel","nzValue"]],template:function(e,n){e&1&&(s(0,"nz-modal",0),_("nzOnCancel",function(){return n.cancel.emit()})("nzOnOk",function(){return n.confirmSubmit()}),S(1,So,6,1,"div",1)(2,To,6,1,"ng-container",2),a()),e&2&&m("nzVisible",n.open())("nzClosable",!0)("nzMaskClosable",!1)("nzOkLoading",n.busy())("nzOkDisabled",n.disabledSubmit())},dependencies:[B,U,q,A,ge,Pe,Ae,j,se,oe,re],styles:[".modal-title[_ngcontent-%COMP%]{display:flex;flex-direction:column}.modal-subtitle[_ngcontent-%COMP%]{color:#999;font-size:14px;line-height:20px}.select[_ngcontent-%COMP%]{width:100%}.label[_ngcontent-%COMP%]{font-size:.8rem;color:gray}"],changeDetection:0})};var Do=(i,t)=>t.id;function wo(i,t){if(i&1&&(s(0,"div")(1,"div",3)(2,"span"),u(3),a(),s(4,"div",4),u(5),a()()()),i&2){let e=c();r(3),T(e.dialogTitle()),r(2),x(" ",e.issue()?e.issue().title:"\u9009\u62E9\u65B0\u7684\u8D1F\u8D23\u4EBA\u3002"," ")}}function No(i,t){if(i&1&&v(0,"nz-option",7),i&2){let e=t.$implicit;m("nzLabel",e.displayName)("nzValue",e.userId)}}function Eo(i,t){if(i&1){let e=M();O(0),s(1,"p",5),u(2,"\u8D1F\u8D23\u4EBA:"),a(),s(3,"nz-select",6),_("ngModelChange",function(o){g(e);let l=c();return f(l.assigneeId.set(o||""))}),w(4,No,1,2,"nz-option",7,Do),a(),F()}if(i&2){let e=c();r(3),m("ngModel",e.assigneeId()),r(),N(e.filterMembers())}}var Qt=class i{open=p(!1);busy=p(!1);issue=p(null);actionLabel=p("\u91CD\u65B0\u6307\u6D3E");members=p([]);confirm=D();cancel=D();assigneeId=b("");filterMembers=C(()=>{let t=this.issue()?.assigneeId?.trim()||"";return this.members().filter(e=>e.userId!==t)});constructor(){R(()=>{this.open()&&this.assigneeId.set("")})}dialogTitle(){let t=this.actionLabel();return t==="\u6307\u6D3E"?"\u6307\u6D3E\u8D1F\u8D23\u4EBA":t==="\u8F6C\u6D3E"?"\u8F6C\u6D3E\u8D1F\u8D23\u4EBA":"\u91CD\u65B0\u6307\u6D3E\u8D1F\u8D23\u4EBA"}confirmText(){let t=this.actionLabel();return t==="\u6307\u6D3E"?"\u786E\u8BA4\u6307\u6D3E":t==="\u8F6C\u6D3E"?"\u786E\u8BA4\u8F6C\u6D3E":"\u786E\u8BA4\u91CD\u65B0\u6307\u6D3E"}confirmAssign(){this.assigneeId()&&this.confirm.emit({assigneeId:this.assigneeId()})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-assign-dialog"]],inputs:{open:[1,"open"],busy:[1,"busy"],issue:[1,"issue"],actionLabel:[1,"actionLabel"],members:[1,"members"]},outputs:{confirm:"confirm",cancel:"cancel"},decls:3,vars:7,consts:[[3,"nzOnCancel","nzOnOk","nzVisible","nzClosable","nzMaskClosable","nzOkLoading","nzOkDisabled","nzOkText"],[4,"nzModalTitle"],[4,"nzModalContent"],[1,"modal-title"],[1,"modal-subtitle"],[1,"assignee"],["nzShowSearch","","nzPlaceHolder","\u9009\u62E9\u9879\u76EE\u6210\u5458",1,"assignee-select",3,"ngModelChange","ngModel"],[3,"nzLabel","nzValue"]],template:function(e,n){e&1&&(s(0,"nz-modal",0),_("nzOnCancel",function(){return n.cancel.emit()})("nzOnOk",function(){return n.confirmAssign()}),S(1,wo,6,2,"div",1)(2,Eo,6,1,"ng-container",2),a()),e&2&&m("nzVisible",n.open())("nzClosable",!0)("nzMaskClosable",!1)("nzOkLoading",n.busy())("nzOkDisabled",!n.assigneeId())("nzOkText",n.confirmText())("nzOkDisabled",!n.assigneeId())},dependencies:[B,U,q,A,ge,Pe,Ae,j,se,oe,re],styles:[".modal-title[_ngcontent-%COMP%]{display:flex;flex-direction:column}.modal-subtitle[_ngcontent-%COMP%]{color:#999;font-size:14px;line-height:20px}.assignee-select[_ngcontent-%COMP%]{width:100%}.assignee[_ngcontent-%COMP%]{font-size:.8rem;color:gray}"],changeDetection:0})};function Po(i,t){if(i&1&&(s(0,"div")(1,"div",4)(2,"span"),u(3,"\u5173\u95ED\u95EE\u9898"),a(),s(4,"div",5),u(5),a()()()),i&2){let e=c();r(5),x(" ",e.item()?e.item().title:"\u8BB0\u5F55\u5F53\u524D\u6D4B\u8BD5\u95EE\u9898\u7684\u5173\u95ED\u539F\u56E0\u3002"," ")}}function Ao(i,t){if(i&1){let e=M();O(0),s(1,"form",6)(2,"textarea",7),_("ngModelChange",function(o){g(e);let l=c();return f(l.reason.set(o))}),a()(),F()}if(i&2){let e=c();r(2),m("ngModel",e.reason())}}function Oo(i,t){if(i&1){let e=M();O(0),s(1,"button",8),_("click",function(){g(e);let o=c();return f(o.cancel.emit())}),u(2,"\u53D6\u6D88"),a(),s(3,"button",9),_("click",function(){g(e);let o=c();return f(o.submitForm())}),u(4," \u786E\u8BA4\u5173\u95ED "),a(),F()}if(i&2){let e=c();r(3),m("disabled",!e.reason().trim())("nzLoading",e.busy())}}var Ht=class i{open=p(!0);busy=p(!1);item=p(null);confirm=D();cancel=D();reason=b("");constructor(){R(()=>{this.open()&&this.reason.set(this.item()?.closeReason??"")})}submitForm(){let t=this.reason().trim();t&&this.confirm.emit(t)}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-close-dialog"]],inputs:{open:[1,"open"],busy:[1,"busy"],item:[1,"item"]},outputs:{confirm:"confirm",cancel:"cancel"},decls:4,vars:5,consts:[["nzTitle","\u5173\u95ED\u95EE\u9898",3,"nzOnCancel","nzOnOk","nzVisible","nzWidth","nzClosable","nzMaskClosable","nzOkLoading"],[4,"nzModalTitle"],[4,"nzModalContent"],[4,"nzModalFooter"],[1,"modal-title"],[1,"modal-subtitle"],[1,"block-form"],["nz-input","","rows","6","placeholder","\u8BF7\u8F93\u5165\u5173\u95ED\u539F\u56E0\u3002\u4F8B\u5982\uFF1A\u9700\u6C42\u53D6\u6D88/\u95EE\u9898\u91CD\u590D/\u65E0\u6CD5\u590D\u73B0\u3002","name","reason",1,"block-input",3,"ngModelChange","ngModel"],["nz-button","","type","button",3,"click"],["nz-button","","nzType","primary",3,"click","disabled","nzLoading"]],template:function(e,n){e&1&&(s(0,"nz-modal",0),_("nzOnCancel",function(){return n.cancel.emit()})("nzOnOk",function(){return n.submitForm()}),S(1,Po,6,1,"div",1)(2,Ao,3,1,"ng-container",2)(3,Oo,5,2,"ng-container",3),a()),e&2&&m("nzVisible",n.open())("nzWidth",640)("nzClosable",!0)("nzMaskClosable",!1)("nzOkLoading",n.busy())},dependencies:[j,se,Mt,oe,re,B,Nt,ae,U,Dt,q,wt,A,ee,L,J,Y,le],styles:[".modal-title[_ngcontent-%COMP%]{display:flex;flex-direction:column}.modal-subtitle[_ngcontent-%COMP%]{color:#999;font-size:14px;line-height:20px}.block-input[_ngcontent-%COMP%]{border-radius:8px}"]})};var Fo=(i,t)=>t.id;function Bo(i,t){if(i&1&&(s(0,"div")(1,"div",3)(2,"span",4),v(3,"nz-icon",5),u(4," \u521B\u5EFA\u534F\u4F5C\u5206\u652F "),a(),s(5,"div",6),u(6),a()()()),i&2){let e=c();r(6),x(" ",e.issue()?e.issue().title:"\u4E3A\u534F\u4F5C\u4EBA\u62C6\u5206\u5904\u7406\u5206\u652F\u3002"," ")}}function Lo(i,t){if(i&1&&v(0,"nz-option",9),i&2){let e=t.$implicit;m("nzLabel",e.userName)("nzValue",e.userId)}}function ko(i,t){if(i&1){let e=M();O(0),s(1,"p",7),u(2,"\u534F\u4F5C\u4EBA"),a(),s(3,"nz-select",8),_("ngModelChange",function(o){g(e);let l=c();return f(l.selectedOwnerUserId.set(o))}),w(4,Lo,1,2,"nz-option",9,Fo),a(),s(6,"p",7),u(7,"\u5206\u652F\u6807\u9898"),a(),s(8,"input",10),_("ngModelChange",function(o){g(e);let l=c();return f(l.title.set((o??"").toString()))}),a(),F()}if(i&2){let e=c();r(3),m("ngModel",e.selectedOwnerUserId()),r(),N(e.participants()),r(4),m("ngModel",e.title())}}var Kt=class i{open=p(!1);busy=p(!1);issue=p(null);participants=p([]);cancel=D();confirm=D();selectedOwnerUserId=b(null);title=b("");disabledSubmit=C(()=>!this.selectedOwnerUserId()?.trim()||!this.title().trim());constructor(){R(()=>{this.open()&&(this.selectedOwnerUserId.set(this.participants()[0]?.userId??null),this.title.set(""))})}confirmSubmit(){let t=this.selectedOwnerUserId()?.trim(),e=this.title().trim();!t||!e||this.confirm.emit({ownerUserId:t,title:e})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-create-branch-dialog"]],inputs:{open:[1,"open"],busy:[1,"busy"],issue:[1,"issue"],participants:[1,"participants"]},outputs:{cancel:"cancel",confirm:"confirm"},decls:3,vars:6,consts:[[3,"nzOnCancel","nzOnOk","nzVisible","nzWidth","nzClosable","nzMaskClosable","nzOkLoading","nzOkDisabled"],[4,"nzModalTitle"],[4,"nzModalContent"],[1,"modal-title"],[1,"modal-title__main"],["nzType","plus-circle","nzTheme","twotone"],[1,"modal-subtitle"],[1,"label"],["nzShowSearch","","nzPlaceHolder","\u9009\u62E9\u8981\u8D1F\u8D23\u8BE5\u5206\u652F\u7684\u534F\u4F5C\u4EBA",1,"participant-selector",3,"ngModelChange","ngModel"],[3,"nzLabel","nzValue"],["nz-input","","placeholder","\u4F8B\u5982\uFF1A\u6392\u67E5\u524D\u7AEF\u6E32\u67D3",3,"ngModelChange","ngModel"]],template:function(e,n){e&1&&(s(0,"nz-modal",0),_("nzOnCancel",function(){return n.cancel.emit()})("nzOnOk",function(){return n.confirmSubmit()}),S(1,Bo,7,1,"div",1)(2,ko,9,2,"ng-container",2),a()),e&2&&m("nzVisible",n.open())("nzWidth",680)("nzClosable",!0)("nzMaskClosable",!1)("nzOkLoading",n.busy())("nzOkDisabled",n.disabledSubmit())},dependencies:[B,ae,U,q,A,L,Y,le,ge,Pe,Ae,j,se,oe,re,K,Z],styles:[".participant-selector[_ngcontent-%COMP%]{width:100%}.modal-title__main[_ngcontent-%COMP%]{font-weight:700}.modal-title[_ngcontent-%COMP%]{display:flex;flex-direction:column}.modal-subtitle[_ngcontent-%COMP%]{margin-top:10px;color:#999;font-size:14px;line-height:20px}.label[_ngcontent-%COMP%]{font-weight:700;font-size:.875rem;margin:12px 0 4px}.hint[_ngcontent-%COMP%]{font-size:small;color:gray;text-align:right;margin-top:8px}"],changeDetection:0})};function Vo(i,t){if(i&1&&(s(0,"div")(1,"div",4)(2,"span"),u(3,"\u6807\u8BB0\u89E3\u51B3"),a(),s(4,"div",5),u(5),a()()()),i&2){let e=c();r(5),x(" ",e.item()?e.item().title:"\u8BB0\u5F55\u5F53\u524D\u6D4B\u8BD5\u95EE\u9898\u7684\u89E3\u51B3\u8BF4\u660E\u3002"," ")}}function Ro(i,t){if(i&1){let e=M();O(0),s(1,"form",6),_("ngSubmit",function(){g(e);let o=c();return f(o.submitForm())}),s(2,"textarea",7),_("ngModelChange",function(o){g(e);let l=c();return f(l.reason.set(o))}),a()(),F()}if(i&2){let e=c();r(2),m("ngModel",e.reason())}}function jo(i,t){if(i&1){let e=M();O(0),s(1,"button",8),_("click",function(){g(e);let o=c();return f(o.cancel.emit())}),u(2,"\u53D6\u6D88"),a(),s(3,"button",9),_("click",function(){g(e);let o=c();return f(o.submitForm())}),u(4," \u786E\u8BA4\u89E3\u51B3 "),a(),F()}if(i&2){let e=c();r(3),m("disabled",!e.reason().trim())("nzLoading",e.busy())}}var Yt=class i{open=p(!0);busy=p(!1);item=p(null);confirm=D();cancel=D();reason=b("\u5DF2\u89E3\u51B3");constructor(){R(()=>{this.open()&&this.reason.set("\u5DF2\u89E3\u51B3")})}submitForm(){let t=this.reason().trim();t&&this.confirm.emit(t)}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-resolve-dialog"]],inputs:{open:[1,"open"],busy:[1,"busy"],item:[1,"item"]},outputs:{confirm:"confirm",cancel:"cancel"},decls:4,vars:5,consts:[[3,"nzOnCancel","nzOnOk","nzVisible","nzWidth","nzClosable","nzMaskClosable","nzOkLoading"],[4,"nzModalTitle"],[4,"nzModalContent"],[4,"nzModalFooter"],[1,"modal-title"],[1,"modal-subtitle"],[1,"block-form",3,"ngSubmit"],["nz-input","","rows","6","placeholder","\u8BF7\u8F93\u5165\u89E3\u51B3\u8BF4\u660E\u3002","name","reason",1,"block-input",3,"ngModelChange","ngModel"],["nz-button","","type","button",3,"click"],["nz-button","","nzType","primary",3,"click","disabled","nzLoading"]],template:function(e,n){e&1&&(s(0,"nz-modal",0),_("nzOnCancel",function(){return n.cancel.emit()})("nzOnOk",function(){return n.submitForm()}),S(1,Vo,6,1,"div",1)(2,Ro,3,1,"ng-container",2)(3,jo,5,2,"ng-container",3),a()),e&2&&m("nzVisible",n.open())("nzWidth",640)("nzClosable",!0)("nzMaskClosable",!1)("nzOkLoading",n.busy())},dependencies:[j,se,Mt,oe,re,B,Nt,ae,U,Dt,q,wt,A,ee,L,J,Y,le],styles:[".modal-title[_ngcontent-%COMP%]{display:flex;flex-direction:column}.modal-subtitle[_ngcontent-%COMP%]{color:#999;font-size:14px;line-height:20px}.block-input[_ngcontent-%COMP%]{border-radius:8px}"]})};function Uo(i,t){if(i&1&&(s(0,"div")(1,"div",3)(2,"span",4),v(3,"nz-icon",5),u(4," \u5F00\u59CB\u534F\u4F5C "),a(),s(5,"div",6),u(6),a()()()),i&2){let e=c();r(6),x(" ",e.issue()?e.issue().title:"\u586B\u5199\u672C\u6B21\u534F\u4F5C\u5185\u5BB9\u3002"," ")}}function qo(i,t){if(i&1){let e=M();O(0),s(1,"p",7),u(2,"\u534F\u4F5C\u5185\u5BB9"),a(),s(3,"input",8),_("ngModelChange",function(o){g(e);let l=c();return f(l.title.set((o??"").toString()))}),a(),s(4,"div",9),u(5,"\u63D0\u4EA4\u540E\u4F1A\u81EA\u52A8\u521B\u5EFA\u5E76\u5F00\u59CB\u4F60\u7684\u534F\u4F5C\u5206\u652F\u3002"),a(),F()}if(i&2){let e=c();r(3),m("ngModel",e.title())}}var Gt=class i{open=p(!1);busy=p(!1);issue=p(null);cancel=D();confirm=D();title=b("");disabledSubmit=C(()=>!this.title().trim());constructor(){R(()=>{this.open()&&this.title.set("")})}confirmSubmit(){let t=this.title().trim();t&&this.confirm.emit({title:t})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-start-own-branch-dialog"]],inputs:{open:[1,"open"],busy:[1,"busy"],issue:[1,"issue"]},outputs:{cancel:"cancel",confirm:"confirm"},decls:3,vars:6,consts:[[3,"nzOnCancel","nzOnOk","nzVisible","nzWidth","nzClosable","nzMaskClosable","nzOkLoading","nzOkDisabled"],[4,"nzModalTitle"],[4,"nzModalContent"],[1,"modal-title"],[1,"modal-title__main"],["nzType","play-circle","nzTheme","twotone"],[1,"modal-subtitle"],[1,"label"],["nz-input","","maxlength","80","placeholder","\u4F8B\u5982\uFF1A\u8865\u6293\u5305\u5B9A\u4F4D\u767B\u5F55\u5F02\u5E38",3,"ngModelChange","ngModel"],[1,"hint"]],template:function(e,n){e&1&&(s(0,"nz-modal",0),_("nzOnCancel",function(){return n.cancel.emit()})("nzOnOk",function(){return n.confirmSubmit()}),S(1,Uo,7,1,"div",1)(2,qo,6,1,"ng-container",2),a()),e&2&&m("nzVisible",n.open())("nzWidth",640)("nzClosable",!0)("nzMaskClosable",!1)("nzOkLoading",n.busy())("nzOkDisabled",n.disabledSubmit())},dependencies:[B,ae,U,zi,q,A,L,Y,le,j,se,oe,re,K,Z],styles:[".modal-title__main[_ngcontent-%COMP%]{font-weight:700}.modal-title[_ngcontent-%COMP%]{display:flex;flex-direction:column}.modal-subtitle[_ngcontent-%COMP%]{margin-top:10px;color:#999;font-size:14px;line-height:20px}.label[_ngcontent-%COMP%]{font-weight:700;font-size:.875rem;margin-bottom:4px}.hint[_ngcontent-%COMP%]{font-size:small;color:gray;text-align:right}"],changeDetection:0})};var Xt=class i{apiClient=z(Et);projectContext=z(Ne);async issuePostReqWithPK(t){return this.apiClient.hubRequestWithPersonalToken({projectId:this.projectContext.currentProjectId(),method:"POST",path:`/issues/${t.issueId}/${t.action}`,payload:t.payload})}async issueDeleteReqWithPK(t){let e=this.projectContext.currentProjectId();return this.apiClient.hubRequestWithPersonalToken({projectId:e,method:"DELETE",path:`/issues/${t.issueId}/${t.action}/${t.deletedId}`})}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ce({token:i,factory:i.\u0275fac,providedIn:"root"})};var ot=class i{apiClient=z(Et);issueTokenApi=z(Xt);async addAttachment(t,e){throw new Error("Method not implemented.")}uploadFile(t,e){throw new Error("Method not implemented.")}getBranches(t,e){return this.apiClient.hubRequestWithPrjId({projectId:t,path:`/issues/${e}/branches`})}createBranch(t,e){return this.issueTokenApi.issuePostReqWithPK({issueId:t,action:"branches",payload:e})}startOwnBranch(t,e){return this.issueTokenApi.issuePostReqWithPK({issueId:t,action:"branches/start-mine",payload:e})}startBranch(t,e){return this.issueTokenApi.issuePostReqWithPK({issueId:t,action:`branches/${e}/start`,payload:{}})}completeBranch(t,e,n={}){return this.issueTokenApi.issuePostReqWithPK({issueId:t,action:`branches/${e}/complete`,payload:n})}addParticipant(t,e){return this.issueTokenApi.issuePostReqWithPK({issueId:t,action:"participants",payload:e})}getIssueParticipants(t,e){return this.apiClient.hubRequestWithPrjId({projectId:t,path:`/issues/${e}/participants`})}getIssueLogs(t,e){return this.apiClient.hubRequestWithPrjId({projectId:t,path:`/issues/${e}/logs`})}addComment(t,e){return this.issueTokenApi.issuePostReqWithPK({issueId:t,action:"comments",payload:{content:e}})}createIssueComment(t,e,n=[]){return this.issueTokenApi.issuePostReqWithPK({issueId:t,action:"comments",payload:{content:e,mentions:n}})}assignIssue(t,e){return this.issueTokenApi.issuePostReqWithPK({issueId:t,action:"assign",payload:e})}claimIssue(t){return this.issueTokenApi.issuePostReqWithPK({issueId:t,action:"claim",payload:{}})}startIssue(t){return this.issueTokenApi.issuePostReqWithPK({issueId:t,action:"start",payload:{}})}waitUpdateIssue(t){return this.issueTokenApi.issuePostReqWithPK({issueId:t,action:"wait-update",payload:{}})}resolveIssue(t,e){return this.issueTokenApi.issuePostReqWithPK({issueId:t,action:"resolve",payload:{}})}reopenIssue(t){return this.issueTokenApi.issuePostReqWithPK({issueId:t,action:"reopen",payload:{}})}getIssuesList(t,e){return this.apiClient.hubRequestWithPrjId({projectId:t,path:"/issues",query:X({},e)})}getIssueDetail(t,e){return this.apiClient.hubRequestWithPrjId({projectId:t,path:`/issues/${e}`})}getIssueAttachments(t,e){return this.apiClient.hubRequestWithPrjId({projectId:t,path:`/issues/${e}/attachments`})}getProjectMembers(t){return this.apiClient.hubRequestWithPrjId({projectId:t,path:`/projects/${t}/members`})}removeParticipant(t,e){return this.issueTokenApi.issueDeleteReqWithPK({issueId:t,action:"participants",deletedId:e})}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ce({token:i,factory:i.\u0275fac,providedIn:"root"})};var Zt=class i{canEdit(t,e){return this.matchActor(e,t.reporterId)}canAssign(t,e,n=!1){return!!this.getAssignActionLabel(t,e,n)}getAssignActionLabel(t,e,n=!1){if(!e||!["open","reopened","in_progress","pending_update"].includes(t.status))return null;let o=this.matchActor(e,t.reporterId),l=this.matchActor(e,t.assigneeId),d=n;return!t.assigneeId&&(o||d)?"\u6307\u6D3E":t.assigneeId&&l?"\u8F6C\u6D3E":null}canManageParticipants(t,e,n=!1){return!["open","in_progress","pending_update"].includes(t.status)||!t.assigneeId?!1:n||this.matchActor(e,t.reporterId)||this.matchActor(e,t.assigneeId)}canClaim(t,e){return!!e?.userId&&!t.assigneeId&&["open","reopened","in_progress","pending_update"].includes(t.status)}canStart(t,e){return this.matchActor(e,t.assigneeId)}canResolve(t,e){return this.canStart(t,e)}canVerify(t,e){return this.matchActor(e,t.verifierId)||this.matchActor(e,t.reporterId)}canClose(t,e){return this.matchActor(e,t.reporterId)?["open","reopened","in_progress","verified"].includes(t.status):!1}canDeleteAttachment(t,e,n=!1){return n||this.matchActor(e,t.upload.uploaderId)}canCreateBranches(t,e,n,o=!1){return["verified","closed"].includes(t.status)||n.length===0?!1:o||this.matchActor(e,t.assigneeId)}canStartBranchActions(t,e){return!["resolved","verified","closed"].includes(t.status)}canStartOwnBranch(t,e,n){return!t||!e||["resolved","verified","closed"].includes(t.status)||!n.some(l=>l.userId===e.userId)?!1:!this.matchActor(e,t.reporterId)}hasPermissionToRead(t){return!0}hasPermissionToComment(t){return t.scopes?.includes("issue:comment:write")??!1}hasPermissionToTransition(t){return t.scopes?.includes("issue:transition:write")??!1}hasPermissionToAssign(t){return t.scopes?.includes("issue:assign:write")??!1}hasPermissionToManageParticipants(t){return t.scopes?.includes("issue:participant:write")??!1}hasPermissionToBranchOperation(t){return t.scopes?.includes("issue:branch:write")??!1}matchActor(t,e){if(!t||!e)return!1;let n=t.userId?.trim();return e===n}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ce({token:i,factory:i.\u0275fac,providedIn:"root"})};var Ve=class i{issueApi=z(ot);userStore=z(Ee);permissionService=z(Zt);projectContext=z(Ne);issueState=b(null);logsState=b([]);commentsState=b([]);participantsState=b([]);attachmentsState=b([]);branchesState=b([]);loadingState=b(!1);busyState=b(!1);actionTickState=b(0);currentProjectId=this.projectContext.currentProjectId;issue=C(()=>this.issueState());logs=C(()=>this.logsState());branches=C(()=>this.branchesState());participants=C(()=>this.participantsState());attachments=C(()=>this.attachmentsState());members=C(()=>this.projectContext.currentProjectMembers());loading=C(()=>this.loadingState());busy=C(()=>this.busyState());actionTick=C(()=>this.actionTickState());branchSummary=C(()=>{let t=this.branchesState(),e=t.length,n=t.filter(d=>d.status==="done").length,o=t.filter(d=>d.status==="in_progress").length,l=t.filter(d=>d.status==="todo").length;return{total:e,done:n,inProgress:o,todo:l}});pendingBranchCount=C(()=>this.branchSummary().total-this.branchSummary().done);currentUser=this.userStore.currentUser;availableMembers=C(()=>{let e=this.issueState()?.assigneeId??null,n=new Set(this.participantsState().map(o=>o.userId));return this.members().filter(o=>!n.has(o.userId)&&o.userId!==e)});isProjectAdmin=C(()=>{let t=this.currentUser();if(!t)return!1;let e=this.members().find(n=>n.userId===t.userId);return!!e&&(e.roleCode==="project_admin"||e.isOwner)});canAssign=C(()=>{let t=this.issueState(),e=this.currentUser();return!t||!e||!this.permissionService.hasPermissionToAssign(e)?!1:this.permissionService.canAssign(t,e,this.isProjectAdmin())});canManageParticipants=C(()=>{let t=this.issueState(),e=this.currentUser();return!t||!e||!this.permissionService.hasPermissionToManageParticipants(e)?!1:this.permissionService.canManageParticipants(t,this.currentUser(),this.isProjectAdmin())});canClaim=C(()=>{let t=this.issueState(),e=this.currentUser();return!t||!e||!this.permissionService.hasPermissionToTransition(e)?!1:this.permissionService.canClaim(t,this.currentUser())});canStart=C(()=>{let t=this.issueState(),e=this.currentUser();return!t||!e||!this.permissionService.hasPermissionToTransition(e)?!1:!!t&&["open","reopened","pending_update"].includes(t.status)&&this.permissionService.canStart(t,this.currentUser())});canResolve=C(()=>{let t=this.issueState(),e=this.currentUser();return!t||!e||!this.permissionService.hasPermissionToTransition(e)?!1:!!t&&["in_progress","pending_update"].includes(t.status)&&this.permissionService.canResolve(t,this.currentUser())});canPendingUpdate=C(()=>{let t=this.issueState(),e=this.currentUser();return!t||!e||!this.permissionService.hasPermissionToTransition(e)?!1:!!t&&t.status==="in_progress"&&this.permissionService.canResolve(t,this.currentUser())});canVerify=C(()=>{let t=this.issueState(),e=this.currentUser();return!t||!e||!this.permissionService.hasPermissionToTransition(e)?!1:!!t&&t.status==="resolved"&&this.permissionService.canVerify(t,this.currentUser())});canReopen=C(()=>{let t=this.issueState(),e=this.currentUser();return!t||!e||!this.permissionService.hasPermissionToTransition(e)?!1:!!t&&["resolved","verified","closed"].includes(t.status)&&this.permissionService.canVerify(t,this.currentUser())});canComment=C(()=>{let t=this.issueState(),e=this.currentUser();return!(!t||!e||!this.permissionService.hasPermissionToComment(e))});canRead=C(()=>!0);canClose=C(()=>{let t=this.issueState(),e=this.currentUser();return!t||!e||!this.permissionService.hasPermissionToTransition(e)?!1:!!t&&["open","in_progress","resolved","verified","reopened"].includes(t.status)&&this.permissionService.canClose(t,this.currentUser())});canCreateBranches=C(()=>{let t=this.issueState(),e=this.currentUser();return!t||!e||!this.permissionService.hasPermissionToBranchOperation(e)?!1:this.permissionService.canCreateBranches(t,this.currentUser(),this.participants(),this.isProjectAdmin())});canStartBranchActions=C(()=>{let t=this.issueState(),e=this.currentUser();return!t||!e||!this.permissionService.hasPermissionToBranchOperation(e)?!1:!!t&&this.permissionService.canStartBranchActions(t,this.currentUser())});canStartOwnBranch=C(()=>{let t=this.issueState(),e=this.currentUser();return!t||!e||!this.permissionService.hasPermissionToBranchOperation(e)||!this.permissionService.canStartOwnBranch(t,e,this.participantsState())?!1:!this.branchesState().some(n=>n.ownerUserId===e?.userId&&n.status!=="done")});canCompleteBranch=C(()=>{let t=this.issueState(),e=this.currentUser();return!(!t||!e||!this.permissionService.hasPermissionToBranchOperation(e))});startActionLabel=C(()=>{let t=this.issueState();return t&&t.status==="pending_update"?"\u7EE7\u7EED\u5904\u7406":"\u5F00\u59CB\u5904\u7406"});assignActionLabel=C(()=>{let t=this.issueState();return t?this.permissionService.getAssignActionLabel(t,this.currentUser(),this.isProjectAdmin())??"\u91CD\u65B0\u6307\u6D3E":"\u91CD\u65B0\u6307\u6D3E"});load(t){let e=this.currentProjectId();e&&(this.userStore.ensureUserLoaded(),this.loadingState.set(!0),bn({issue:this.issueApi.getIssueDetail(e,t),logs:this.issueApi.getIssueLogs(e,t),branches:this.issueApi.getBranches(e,t),participants:this.issueApi.getIssueParticipants(e,t),attachments:this.issueApi.getIssueAttachments(e,t)}).subscribe({next:({issue:n,logs:o,branches:l,participants:d,attachments:st})=>{this.issueState.set(n),this.logsState.set(o.items),this.branchesState.set(l.items),this.participantsState.set(d.items),this.attachmentsState.set(st.items),this.loadingState.set(!1)},error:()=>{this.loadingState.set(!1)}}))}postComment(t){let e=this.issueState()?.id;!e||!t.content.trim()||(this.busyState.set(!0),fe(this.issueApi.createIssueComment(e,t.content.trim(),t.mentions)).subscribe({next:n=>{this.commentsState.update(o=>[n,...o]),this.refreshLogs(e),this.busyState.set(!1)},error:()=>{this.busyState.set(!1)}}))}start(){this.runIssueAction(t=>this.issueApi.startIssue(t))}claim(){this.runIssueAction(t=>this.issueApi.claimIssue(t))}assign(t){t.assigneeId.trim()&&this.runIssueAction(e=>this.issueApi.assignIssue(e,t))}waitForUpdate(){this.runIssueAction(t=>this.issueApi.waitUpdateIssue(t))}resolve(t){this.runIssueAction(e=>this.issueApi.resolveIssue(e,t))}addParticipants(t){let e=this.issueState()?.id,n=t.userIds,o=[...new Set(n.map(l=>l.trim()).filter(Boolean))];!e||o.length===0||(this.busyState.set(!0),bn(o.map(l=>this.issueApi.addParticipant(e,{userId:l}))).subscribe({next:l=>{this.participantsState.update(d=>[...d,...l]),this.refreshLogs(e),this.busyState.set(!1)},error:()=>{this.busyState.set(!1)}}))}removeParticipant(t){let e=this.issueState()?.id;e&&(this.busyState.set(!0),fe(this.issueApi.removeParticipant(e,t)).subscribe({next:()=>{this.participantsState.update(n=>n.filter(o=>o.id!==t)),this.refreshLogs(e),this.busyState.set(!1)},error:()=>{this.busyState.set(!1)}}))}createBranch(t){let e=this.issueState()?.id;!e||!t.ownerUserId.trim()||!t.title.trim()||(this.busyState.set(!0),fe(this.issueApi.createBranch(e,{ownerUserId:t.ownerUserId.trim(),title:t.title.trim()})).subscribe({next:n=>{this.branchesState.update(o=>[n,...o]),this.refreshLogs(e),this.busyState.set(!1)},error:()=>{this.busyState.set(!1)}}))}startOwnBranch(t){let e=this.issueState()?.id,n=t.title.trim();!e||!n||(this.busyState.set(!0),fe(this.issueApi.startOwnBranch(e,{title:n})).subscribe({next:()=>{this.refreshBranches(e),this.refreshLogs(e),this.busyState.set(!1)},error:()=>{this.busyState.set(!1)}}))}startBranch(t){let e=this.issueState()?.id;e&&(this.busyState.set(!0),fe(this.issueApi.startBranch(e,t)).subscribe({next:()=>{this.refreshBranches(e),this.refreshLogs(e),this.busyState.set(!1)},error:()=>{this.busyState.set(!1)}}))}completeBranch(t){let e=this.issueState()?.id;e&&(this.busyState.set(!0),fe(this.issueApi.completeBranch(e,t)).subscribe({next:()=>{this.refreshBranches(e),this.refreshLogs(e),this.busyState.set(!1)},error:()=>{this.busyState.set(!1)}}))}runIssueAction(t){let e=this.issueState()?.id;e&&(this.busyState.set(!0),t(e).then(n=>{this.issueState.set(n),this.busyState.set(!1),this.refreshLogs(e),this.actionTickState.update(o=>o+1)}).catch(n=>{this.busyState.set(!1)}))}refreshLogs(t){let e=this.currentProjectId();e&&fe(this.issueApi.getIssueLogs(e,t)).subscribe({next:n=>this.logsState.set(n.items)})}refreshBranches(t){let e=this.currentProjectId();e&&fe(this.issueApi.getBranches(e,t)).subscribe({next:n=>this.branchesState.set(n.items)})}setSelectedIssue(t){this.issueState.set(t)}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ce({token:i,factory:i.\u0275fac})};var $o=(i,t)=>t.value;function Wo(i,t){if(i&1&&v(0,"nz-step",3),i&2){let e=t.$implicit,n=c();m("nzTitle",e.label)("nzStatus",n.stepState(e.value))}}function Qo(i,t){if(i&1){let e=M();s(0,"button",8),_("click",function(){g(e);let o=c();return f(o.actionClick.emit("start"))}),u(1),a()}if(i&2){let e=c();r(),x(" ",e.startActionLabel()," ")}}function Ho(i,t){if(i&1){let e=M();s(0,"button",8),_("click",function(){g(e);let o=c();return f(o.actionClick.emit("claim"))}),u(1," \u8BA4\u9886 "),a()}}function Ko(i,t){if(i&1){let e=M();s(0,"button",8),_("click",function(){g(e);let o=c();return f(o.actionClick.emit("assign"))}),u(1),a()}if(i&2){let e=c();r(),x(" ",e.assignActionLabel()," ")}}function Yo(i,t){if(i&1){let e=M();s(0,"button",8),_("click",function(){g(e);let o=c();return f(o.actionClick.emit("add_participants"))}),u(1," \u6DFB\u52A0\u534F\u4F5C\u4EBA "),a()}}function Go(i,t){if(i&1){let e=M();s(0,"button",9),_("click",function(){g(e);let o=c();return f(o.actionClick.emit("wait_update"))}),u(1," \u6807\u8BB0\u5F85\u63D0\u6D4B "),a()}}function Xo(i,t){if(i&1){let e=M();s(0,"button",10),_("click",function(){g(e);let o=c();return f(o.actionClick.emit("resolve"))}),u(1," \u6807\u8BB0\u89E3\u51B3 "),a()}}var Jt=class i{issue=p.required();logs=p([]);canStart=p(!1);canClaim=p(!1);canAssign=p(!1);canManageParticipants=p(!1);canResolve=p(!1);canPendingUpdate=p(!1);canVerify=p(!1);canReopen=p(!1);canClose=p(!1);assignActionLabel=p("\u91CD\u65B0\u6307\u6D3E");startActionLabel=p("\u5F00\u59CB\u5904\u7406");actionClick=D();excutedStatuses=C(()=>{let t=new Set,e=this.latestOpenAt();return this.logs().forEach((n,o)=>{e!==null&&Date.parse(n.createdAt)<e||t.add(n.toStatus)}),t.has("resolved")&&t.add("pending_update"),t});stepsOptions=Je.filter(t=>!(t.value==="reopened"||t.value===""));stepState(t){return this.issue().status===t||t==="open"&&this.issue().status==="reopened"?"process":this.excutedStatuses().has(t)||t==="open"&&this.excutedStatuses().has("reopened")?"finish":"wait"}getStepIndex(t){return t==="reopened"?0:t==="closed"?4:Hi.findIndex(n=>n===t)??-1}latestOpenAt(){let t=null;for(let e of this.logs()){let n=e.actionType==="reopen"&&e.toStatus==="reopened",o=e.actionType==="create"&&e.toStatus==="open";if(!n&&!o)continue;let l=Date.parse(e.createdAt);Number.isNaN(l)||(t===null||l>t)&&(t=l)}return t}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-action-area"]],inputs:{issue:[1,"issue"],logs:[1,"logs"],canStart:[1,"canStart"],canClaim:[1,"canClaim"],canAssign:[1,"canAssign"],canManageParticipants:[1,"canManageParticipants"],canResolve:[1,"canResolve"],canPendingUpdate:[1,"canPendingUpdate"],canVerify:[1,"canVerify"],canReopen:[1,"canReopen"],canClose:[1,"canClose"],assignActionLabel:[1,"assignActionLabel"],startActionLabel:[1,"startActionLabel"]},outputs:{actionClick:"actionClick"},decls:13,vars:7,consts:[[1,"action-area"],[1,"steps"],["nzSize","small",3,"nzCurrent"],[3,"nzTitle","nzStatus"],[1,"action-btns"],["nz-button","","nzType","default",1,"detail-header__action-btn"],["nz-button","","nzType","default","nz-tooltip","\u4EE3\u7801\u5DF2\u63D0\u4EA4\u7B49\u5F85\u6D4B\u8BD5\u73AF\u5883\u66F4\u65B0",1,"detail-header__action-btn"],["nz-button","","nzType","primary","nz-tooltip","\u95EE\u9898\u5DF2\u7ECF\u89E3\u51B3\uFF0C\u53EF\u4EE5\u6D4B\u8BD5",1,"detail-header__action-btn"],["nz-button","","nzType","default",1,"detail-header__action-btn",3,"click"],["nz-button","","nzType","default","nz-tooltip","\u4EE3\u7801\u5DF2\u63D0\u4EA4\u7B49\u5F85\u6D4B\u8BD5\u73AF\u5883\u66F4\u65B0",1,"detail-header__action-btn",3,"click"],["nz-button","","nzType","primary","nz-tooltip","\u95EE\u9898\u5DF2\u7ECF\u89E3\u51B3\uFF0C\u53EF\u4EE5\u6D4B\u8BD5",1,"detail-header__action-btn",3,"click"]],template:function(e,n){e&1&&(s(0,"app-detail-item-card")(1,"div",0)(2,"div",1)(3,"nz-steps",2),w(4,Wo,1,2,"nz-step",3,$o),a()(),s(6,"div",4),h(7,Qo,2,1,"button",5),h(8,Ho,2,0,"button",5),h(9,Ko,2,1,"button",5),h(10,Yo,2,0,"button",5),h(11,Go,2,0,"button",6),h(12,Xo,2,0,"button",7),a()()()),e&2&&(r(3),m("nzCurrent",n.getStepIndex(n.issue().status)),r(),N(n.stepsOptions),r(3),y(n.canStart()?7:-1),r(),y(n.canClaim()&&!n.canAssign()?8:-1),r(),y(n.canAssign()?9:-1),r(),y(n.canManageParticipants()?10:-1),r(),y(n.canPendingUpdate()?11:-1),r(),y(n.canResolve()?12:-1))},dependencies:[Vi,ki,Li,A,ee,L,J,j,He,Qe,te],styles:[".action-btns[_ngcontent-%COMP%]{margin-top:20px;display:flex;gap:10px}[_nghost-%COMP%] .ant-steps-item-title:after{background-color:#d3d3d3!important}"]})};var Zo=["videoTpl"];function Jo(i,t){i&1&&u(0," \u56FE\u7247 ")}function er(i,t){i&1&&u(0," \u89C6\u9891 ")}function tr(i,t){i&1&&u(0," \u6587\u4EF6 ")}function nr(i,t){if(i&1&&v(0,"img",3),i&2){let e=c();m("nzSrc",e.item().url)("alt",e.item().name),Gn("data-preview-id",e.item().id)}}function ir(i,t){if(i&1&&v(0,"video",4),i&2){let e=c();m("src",e.item().url,je)}}function or(i,t){if(i&1&&(s(0,"div",5),v(1,"span",11),s(2,"span",12),u(3),a()()),i&2){let e=c();r(3),T(e.item().name)}}function rr(i,t){if(i&1&&(s(0,"span"),u(1),a()),i&2){let e=c();r(),T(e.item().meta)}}function sr(i,t){i&1&&(s(0,"span",10),v(1,"span",13),a())}function ar(i,t){i&1&&(s(0,"span",10),v(1,"span",14),a())}function lr(i,t){i&1&&(s(0,"span",10),v(1,"span",15),a())}function cr(i,t){if(i&1&&v(0,"video",16),i&2){let e=c();m("src",e.previewUrl(),je)}}var en=class i{modal=z(We);item=p.required();videoTpl;previewUrl=b("");openPreview(t){if(t.kind==="image"){document.querySelector(`img[data-preview-id="${t.id}"]`)?.click();return}t.kind==="video"&&(this.previewUrl.set(t.url),this.modal.create({nzContent:this.videoTpl,nzFooter:null,nzWidth:"80vw",nzBodyStyle:{padding:"0",background:"#000"},nzCentered:!0})),t.kind==="file"&&this.downloadFile(t)}downloadFile(t){let e=document.createElement("a");e.href=t.url,e.download=t.name,e.target="_blank",e.click(),e.remove()}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-attachment-viewer"]],viewQuery:function(e,n){if(e&1&&he(Zo,7),e&2){let o;k(o=V())&&(n.videoTpl=o.first)}},inputs:{item:[1,"item"]},decls:19,vars:6,consts:[["videoTpl",""],[1,"attachment-viewer__item"],[1,"attachment-viewer__type"],["nz-image","",1,"attachment-viewer__image",3,"nzSrc","alt"],[1,"attachment-viewer__video",3,"src"],[1,"attachment-viewer__file"],[1,"attachment-viewer__info"],[1,"attachment-viewer__name",3,"title"],[1,"attachment-viewer__meta"],[1,"attachment-viewer__mask",3,"click"],[1,"attachment-viewer__preview"],["nz-icon","","nzType","file"],[1,"attachment-viewer__file-name"],["nz-icon","","nzType","eye"],["nz-icon","","nzType","play-circle"],["nz-icon","","nzType","download"],["controls","","autoplay","",2,"width","100%","height","100%","background","#000",3,"src"]],template:function(e,n){if(e&1){let o=M();s(0,"div",1)(1,"div",2),h(2,Jo,1,0)(3,er,1,0)(4,tr,1,0),a(),h(5,nr,1,3,"img",3)(6,ir,1,1,"video",4)(7,or,4,1,"div",5),s(8,"div",6)(9,"div",7),u(10),a(),s(11,"div",8),h(12,rr,2,1,"span"),a()(),s(13,"div",9),_("click",function(){return g(o),f(n.openPreview(n.item()))}),h(14,sr,2,0,"span",10)(15,ar,2,0,"span",10)(16,lr,2,0,"span",10),a(),S(17,cr,1,1,"ng-template",null,0,G),a()}e&2&&(r(2),y(n.item().kind==="image"?2:n.item().kind==="video"?3:4),r(3),y(n.item().kind==="image"?5:n.item().kind==="video"?6:7),r(4),m("title",n.item().name),r(),x(" ",n.item().name," "),r(2),y(n.item().meta?12:-1),r(2),y(n.item().kind==="image"?14:n.item().kind==="video"?15:n.item().kind==="file"?16:-1))},dependencies:[Ze,Xe,K,Z,j],styles:[".attachment-viewer__item[_ngcontent-%COMP%]{margin:6px;position:relative;height:120px;border-radius:8px;overflow:hidden;background:#f5f5f5}.attachment-viewer__item[_ngcontent-%COMP%] .attachment-viewer__type[_ngcontent-%COMP%]{position:absolute;top:8px;left:8px;z-index:2;padding:4px 8px;font-size:.75rem;line-height:1;border-radius:4px;color:#fff;background:#1890ff;pointer-events:none}.attachment-viewer__image[_ngcontent-%COMP%], .attachment-viewer__video[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;display:block}.attachment-viewer__video[_ngcontent-%COMP%]{background:#000}.attachment-viewer__file[_ngcontent-%COMP%]{width:100%;height:100%;display:grid;place-content:center;gap:6px;text-align:center;padding:8px;font-size:12px}.attachment-viewer__file-name[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-viewer__info[_ngcontent-%COMP%]{position:absolute;left:0;right:0;bottom:0;height:40%;display:flex;flex-direction:column;justify-content:flex-end;padding:8px;box-sizing:border-box;color:#fff;background:linear-gradient(to top,rgba(0,0,0,.85),rgba(0,0,0,.4),transparent)}.attachment-viewer__name[_ngcontent-%COMP%]{font-size:12px;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-viewer__meta[_ngcontent-%COMP%]{font-size:11px;opacity:.85;display:flex;gap:8px}.attachment-viewer__mask[_ngcontent-%COMP%]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#00000080;opacity:0;transition:opacity .2s;cursor:pointer}.attachment-viewer__item[_ngcontent-%COMP%]:hover .attachment-viewer__mask[_ngcontent-%COMP%]{opacity:1}.attachment-viewer__preview[_ngcontent-%COMP%]{font-size:18px;color:#fff}"]})};function mr(i,t){if(i&1&&v(0,"app-attachment-viewer",1),i&2){let e=t.$implicit;m("item",e)}}var tn=class i{attachments=p([]);projectId=p("");members=p([]);apiBaseUrl="";attachmentPreviewItems(){return this.attachments().map(t=>{let e=(t.upload.mimeType||"").toLowerCase(),n=this.resolveUploaderName(t.upload.uploaderId,t.upload.uploaderName),o=e.startsWith("image/")?"image":e.startsWith("video/")?"video":"file";return{id:t.id,name:t.upload.originalName,url:this.fileUrl(t),kind:o,meta:`${n} \xB7 ${t.upload.mimeType||"file"} \xB7 ${this.formatSize(t.upload.fileSize)}`}})}fileUrl(t){return`/api/client/hub-token/projects/${this.projectId()}/issues/${t.issueId}/attachments/${t.id}/raw`}formatSize(t){return!Number.isFinite(t)||t<0?"-":t<1024?`${t} B`:t<1024*1024?`${(t/1024).toFixed(1)} KB`:`${(t/(1024*1024)).toFixed(1)} MB`}resolveUploaderName(t,e){let n=e?.trim();if(n)return n;let o=t?.trim();return o?this.members().find(l=>l.userId===o)?.displayName||o:"\u672A\u77E5\u4E0A\u4F20\u8005"}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-attachment-area"]],inputs:{attachments:[1,"attachments"],projectId:[1,"projectId"],members:[1,"members"]},decls:3,vars:2,consts:[["title","\u9644\u4EF6","emptyText","\u5F53\u524D\u8FD8\u6CA1\u6709\u9644\u4EF6",3,"emptyStatus","count"],[3,"item"]],template:function(e,n){e&1&&(s(0,"app-detail-item-card",0),w(1,mr,1,1,"app-attachment-viewer",1,yt),a()),e&2&&(m("emptyStatus",n.attachments().length<=0)("count",n.attachments().length),r(),N(n.attachmentPreviewItems()))},dependencies:[en,te],styles:[".empty[_ngcontent-%COMP%]{text-align:center;color:gray}"]})};var nn={bug:"\u7F3A\u9677",feature:"\u65B0\u529F\u80FD",change:"\u9700\u6C42\u53D8\u66F4",improvement:"\u6539\u8FDB",task:"\u4EFB\u52A1",test:"\u6D4B\u8BD5\u8BB0\u5F55"},on={bug:"red",feature:"green",change:"blue",improvement:"cyan",task:"geekblue",test:"lime"};var io=[{type:"bug",title:"\u95EE\u9898\u63CF\u8FF0"},{type:"feature",title:"\u65B0\u529F\u80FD\u63CF\u8FF0"},{type:"change",title:"\u9700\u6C42\u53D8\u66F4\u63CF\u8FF0"},{type:"improvement",title:"\u6539\u8FDB\u63CF\u8FF0"},{type:"task",title:"\u4EFB\u52A1\u63CF\u8FF0"},{type:"test",title:"\u6D4B\u8BD5\u8BB0\u5F55"}],oo={create:"\u521B\u5EFA",urge:"\u7F6E\u9876\u63D0\u9192",assign:"\u6307\u6D3E",claim:"\u8BA4\u9886",start:"\u5F00\u59CB\u5904\u7406",wait_update:"\u5F85\u63D0\u6D4B",resolve:"\u6807\u8BB0\u89E3\u51B3",verify:"\u9A8C\u8BC1\u901A\u8FC7",reopen:"\u91CD\u65B0\u6253\u5F00",close:"\u5173\u95ED",comment:"\u8BC4\u8BBA",update:"\u66F4\u65B0"};var rn=class i{issue=p.required();getPriorityLabel(t){return jt[t]}getPriorityColor(t){return qt[t]}getStatusLabel(t){return Vt[t]}getStatusColor(t){return Rt[t]}getTypeLabel(t){return nn[t]}getTypeColor(t){return on[t]}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-base-info-area"]],inputs:{issue:[1,"issue"]},decls:27,vars:17,consts:[[3,"title"],["nzBordered","","nzSize","small",3,"nzColumn"],["nzTitle","\u63D0\u62A5\u4EBA"],["nzTitle","\u8D1F\u8D23\u4EBA"],["nzTitle","\u9A8C\u6536\u4EBA"],["nzTitle","\u72B6\u6001"],[3,"nzColor"],["nzTitle","\u4F18\u5148\u7EA7"],["nzTitle","\u7C7B\u578B"],["nzTitle","\u6A21\u5757"],["nzTitle","\u73AF\u5883"],["nzTitle","\u521B\u5EFA\u65F6\u95F4"]],template:function(e,n){e&1&&(s(0,"app-detail-item-card",0)(1,"nz-descriptions",1)(2,"nz-descriptions-item",2)(3,"b"),u(4),a()(),s(5,"nz-descriptions-item",3)(6,"b"),u(7),a()(),s(8,"nz-descriptions-item",4)(9,"b"),u(10),a()(),s(11,"nz-descriptions-item",5)(12,"nz-tag",6),u(13),a()(),s(14,"nz-descriptions-item",7)(15,"nz-tag",6),u(16),a()(),s(17,"nz-descriptions-item",8)(18,"nz-tag",6),u(19),a()(),s(20,"nz-descriptions-item",9),u(21),a(),s(22,"nz-descriptions-item",10),u(23),a(),s(24,"nz-descriptions-item",11),u(25),ye(26,"date"),a()()()),e&2&&(m("title","\u57FA\u7840\u4FE1\u606F"),r(),m("nzColumn",1),r(3),T(n.issue().reporterName),r(3),T(n.issue().assigneeName||"-"),r(3),T(n.issue().verifierName||"-"),r(2),m("nzColor",n.getStatusColor(n.issue().status)),r(),x(" ",n.getStatusLabel(n.issue().status)," "),r(2),m("nzColor",n.getPriorityColor(n.issue().priority)),r(),x(" ",n.getPriorityLabel(n.issue().priority)," "),r(2),m("nzColor",n.getTypeColor(n.issue().type)),r(),x(" ",n.getTypeLabel(n.issue().type)," "),r(2),x(" ",n.issue().moduleCode||"-"," "),r(2),x(" ",n.issue().environmentCode||"-"," "),r(2),x(" ",ve(26,14,n.issue().createdAt,"yyyy-MM-dd HH:mm")," "))},dependencies:[ui,qi,Ui,ji,Ge,Ye,H,te,De],styles:["[_nghost-%COMP%] .ant-descriptions-item-content, [_nghost-%COMP%] .ant-descriptions-item-label{font-size:.875rem}"]})};var pr=(i,t)=>t.id;function dr(i,t){if(i&1){let e=M();s(0,"button",4),_("click",function(){g(e);let o=c();return f(o.startOwn.emit())}),u(1," \u5F00\u59CB "),a()}if(i&2){let e=c();m("nzLoading",e.busy())}}function gr(i,t){if(i&1){let e=M();s(0,"button",5),_("click",function(){g(e);let o=c();return f(o.create.emit())}),u(1," \u65B0\u5EFA "),a()}if(i&2){let e=c();m("disabled",e.busy())}}function fr(i,t){if(i&1&&(s(0,"div",14),u(1),a()),i&2){let e=c().$implicit;r(),T(e.summary)}}function _r(i,t){if(i&1){let e=M();s(0,"button",18),_("click",function(){g(e);let o=c().$implicit,l=c(2);return f(l.startBranch.emit(o.id))}),u(1," \u5F00\u59CB\u5904\u7406 "),a()}if(i&2){let e=c(3);m("nzLoading",e.busy())}}function Cr(i,t){if(i&1){let e=M();s(0,"button",19),_("nzOnConfirm",function(){g(e);let o=c().$implicit,l=c(2);return f(l.completeBranch.emit(o.id))}),u(1," \u6807\u8BB0\u5B8C\u6210 "),a()}if(i&2){let e=c(3);m("nzLoading",e.busy())}}function hr(i,t){if(i&1&&(s(0,"article",8)(1,"div",9)(2,"div",10),u(3),a(),s(4,"nz-tag",11),u(5),a()(),s(6,"div",12)(7,"span",13),u(8),a(),s(9,"span"),u(10),a(),s(11,"span"),u(12),ye(13,"date"),a()(),h(14,fr,2,1,"div",14),s(15,"div",15),h(16,_r,2,1,"button",16),h(17,Cr,2,1,"button",17),a()()),i&2){let e=t.$implicit,n=c(2);r(3),T(e.title),r(),m("nzColor",n.branchStatusColor(e.status)),r(),x(" ",n.branchStatusLabel(e.status)," "),r(3),T(e.ownerUserName),r(2),x("\u7531 ",e.createdByName," \u521B\u5EFA"),r(2),x("",ve(13,9,e.updatedAt,"MM-dd HH:mm")," \u66F4\u65B0"),r(2),y(e.summary?14:-1),r(2),y(n.canStartActions()&&n.isMine(e)&&e.status==="todo"?16:-1),r(),y(n.canCompleteBranch()&&n.isMine(e)&&e.status==="in_progress"?17:-1)}}function yr(i,t){if(i&1&&(s(0,"div",6),u(1),a(),s(2,"div",7),w(3,hr,18,12,"article",8,pr),a()),i&2){let e=c();r(),T(e.branchSummaryText()),r(2),N(e.branches())}}var sn=class i{userStore=z(Ee);branches=p([]);summary=p();canCreate=p(!1);canStartActions=p(!1);canStartOwn=p(!1);canCompleteBranch=p(!1);busy=p(!1);create=D();startOwn=D();startBranch=D();completeBranch=D();branchSummaryText=C(()=>{let t=this.summary();if(!t)return"";if(t.total===0)return"\u5F53\u524D\u6CA1\u6709\u534F\u4F5C\u5206\u652F";let e=[`\u5DF2\u5B8C\u6210 ${t.done}`];return t.inProgress>0&&e.push(`\u5904\u7406\u4E2D ${t.inProgress}`),t.todo>0&&e.push(`\u5F85\u5F00\u59CB ${t.todo}`),e.join("\uFF0C")});isMine(t){return this.userStore.currentUserId()===t.ownerUserId}branchStatusLabel(t){return Yi[t]??t}branchStatusColor(t){return Ki[t]??"default"}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-branches"]],inputs:{branches:[1,"branches"],summary:[1,"summary"],canCreate:[1,"canCreate"],canStartActions:[1,"canStartActions"],canStartOwn:[1,"canStartOwn"],canCompleteBranch:[1,"canCompleteBranch"],busy:[1,"busy"]},outputs:{create:"create",startOwn:"startOwn",startBranch:"startBranch",completeBranch:"completeBranch"},decls:5,vars:5,consts:[["title","\u534F\u4F5C\u5206\u652F","emptyText","\u5F53\u524D\u8FD8\u6CA1\u6709\u534F\u4F5C\u5206\u652F",3,"emptyStatus","count"],["actions","",2,"display","flex","gap","6px"],["nz-button","","nz-tooltip","\u70B9\u51FB\u5F00\u59CB\u534F\u4F5C","nzType","default","nzSize","small",3,"nzLoading"],["nz-button","","nz-tooltip","\u70B9\u51FB\u65B0\u5EFA\u534F\u4F5C\u5206\u652F","nzType","primary","nzSize","small",1,"create-btn",3,"disabled"],["nz-button","","nz-tooltip","\u70B9\u51FB\u5F00\u59CB\u534F\u4F5C","nzType","default","nzSize","small",3,"click","nzLoading"],["nz-button","","nz-tooltip","\u70B9\u51FB\u65B0\u5EFA\u534F\u4F5C\u5206\u652F","nzType","primary","nzSize","small",1,"create-btn",3,"click","disabled"],[1,"branch-summary"],[1,"branch-list"],[1,"branch-card"],[1,"branch-card__header"],[1,"branch-card__title"],[3,"nzColor"],[1,"branch-card__meta"],[1,"branch-card__owner"],[1,"branch-card__summary"],[1,"branch-card__actions"],["nz-button","","nzType","default","nzSize","small",1,"action-btn",3,"nzLoading"],["nz-button","","nzType","primary","nzSize","small","nz-popconfirm","","nzPopconfirmTitle","\u786E\u8BA4\u6807\u8BB0\u8BE5\u534F\u4F5C\u5206\u652F\u5DF2\u5B8C\u6210\uFF1F","nzPopconfirmOkText","\u5B8C\u6210","nzPopconfirmCancelText","\u53D6\u6D88",1,"action-btn",3,"nzLoading"],["nz-button","","nzType","default","nzSize","small",1,"action-btn",3,"click","nzLoading"],["nz-button","","nzType","primary","nzSize","small","nz-popconfirm","","nzPopconfirmTitle","\u786E\u8BA4\u6807\u8BB0\u8BE5\u534F\u4F5C\u5206\u652F\u5DF2\u5B8C\u6210\uFF1F","nzPopconfirmOkText","\u5B8C\u6210","nzPopconfirmCancelText","\u53D6\u6D88",1,"action-btn",3,"nzOnConfirm","nzLoading"]],template:function(e,n){e&1&&(s(0,"app-detail-item-card",0)(1,"div",1),h(2,dr,2,1,"button",2),h(3,gr,2,1,"button",3),a(),h(4,yr,5,1),a()),e&2&&(m("emptyStatus",!n.branches().length)("count",n.branches().length),r(2),y(n.canStartActions()&&n.canStartOwn()?2:-1),r(),y(n.canCreate()?3:-1),r(),y(n.branches().length>0?4:-1))},dependencies:[te,A,ee,L,J,Ge,Ye,Ot,At,H,De],styles:[".create-btn[_ngcontent-%COMP%]{margin-right:6px}.branch-summary[_ngcontent-%COMP%]{margin:-2px 0 6px;font-size:.875rem;color:gray}.branch-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;gap:10px}.branch-list[_ngcontent-%COMP%] .branch-card[_ngcontent-%COMP%]{padding:12px;border-radius:10px;background-color:#fafafa;width:100%;transition:all .3s ease;border:1px solid #f0f0f0}.branch-list[_ngcontent-%COMP%] .branch-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 16px 10px -8px #0020401f}.branch-list[_ngcontent-%COMP%] .branch-card[_ngcontent-%COMP%] .branch-card__header[_ngcontent-%COMP%]{display:flex}.branch-list[_ngcontent-%COMP%] .branch-card[_ngcontent-%COMP%] .branch-card__header[_ngcontent-%COMP%] .branch-card__title[_ngcontent-%COMP%]{margin-right:4px;font-weight:600;flex-grow:1}.branch-list[_ngcontent-%COMP%] .branch-card[_ngcontent-%COMP%] .branch-card__meta[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;gap:2px;margin:4px 0 8px;font-size:.75rem;color:gray}.branch-list[_ngcontent-%COMP%] .branch-card[_ngcontent-%COMP%] .branch-card__meta[_ngcontent-%COMP%] .branch-card__owner[_ngcontent-%COMP%]{color:#1677ff;font-weight:700}.branch-list[_ngcontent-%COMP%] .branch-card[_ngcontent-%COMP%] .branch-card__summary[_ngcontent-%COMP%]{margin-top:10px;font-size:.875rem}.branch-list[_ngcontent-%COMP%] .branch-card[_ngcontent-%COMP%] .branch-card__actions[_ngcontent-%COMP%]{display:flex}[_nghost-%COMP%] .ant-tag{height:1.6rem}"]})};var vr=(i,t)=>t.id;function zr(i,t){if(i&1){let e=M();s(0,"button",8),_("nzOnConfirm",function(){g(e);let o=c().$implicit,l=c();return f(l.removeParticipant.emit(o.id))}),v(1,"nz-icon",9),a()}if(i&2){let e=c(2);m("nzLoading",e.busy())}}function br(i,t){if(i&1&&(s(0,"div",3)(1,"div",4),v(2,"nz-avatar",5),s(3,"span",6),u(4),a()(),h(5,zr,2,1,"button",7),a()),i&2){let e=t.$implicit,n=c();Ue("width",n.canManageParticipants()?"100%":"auto"),r(2),m("nzText",e.userName.charAt(0)),r(2),T(e.userName),r(),y(n.canManageParticipants()?5:-1)}}var an=class i{issue=p.required();participants=p([]);members=p([]);availableMembers=p([]);canAssign=p(!1);canManageParticipants=p(!1);busy=p(!1);assign=D();removeParticipant=D();selectedAssignee=b(null);static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-collaborators-area"]],inputs:{issue:[1,"issue"],participants:[1,"participants"],members:[1,"members"],availableMembers:[1,"availableMembers"],canAssign:[1,"canAssign"],canManageParticipants:[1,"canManageParticipants"],busy:[1,"busy"]},outputs:{assign:"assign",removeParticipant:"removeParticipant"},decls:4,vars:2,consts:[["title","\u5408\u4F5C\u4EBA","emptyText","\u5F53\u524D\u8FD8\u6CA1\u6709\u5408\u4F5C\u4EBA",3,"emptyStatus","count"],[1,"participant-list"],[1,"participant-item",3,"width"],[1,"participant-item"],[1,"participant-chip"],["nzSize","small",2,"background-color","#1890ff",3,"nzText"],[1,"participant-item__name"],["nz-button","","nzType","default","nzShape","circle","nz-popconfirm","","nzPopconfirmTitle","\u786E\u5B9A\u8981\u79FB\u9664\u8BE5\u53C2\u4E0E\u4EBA\u5417\uFF1F","nzPopconfirmOkText","\u79FB\u9664","nzPopconfirmCancelText","\u53D6\u6D88","nz-tooltip","\u79FB\u9664\u53C2\u4E0E\u4EBA","nzSize","small",1,"remove-btn",3,"nzLoading"],["nz-button","","nzType","default","nzShape","circle","nz-popconfirm","","nzPopconfirmTitle","\u786E\u5B9A\u8981\u79FB\u9664\u8BE5\u53C2\u4E0E\u4EBA\u5417\uFF1F","nzPopconfirmOkText","\u79FB\u9664","nzPopconfirmCancelText","\u53D6\u6D88","nz-tooltip","\u79FB\u9664\u53C2\u4E0E\u4EBA","nzSize","small",1,"remove-btn",3,"nzOnConfirm","nzLoading"],["nzType","minus"]],template:function(e,n){e&1&&(s(0,"app-detail-item-card",0)(1,"div",1),w(2,br,6,5,"div",2,vr),a()()),e&2&&(m("emptyStatus",n.participants().length<=0)("count",n.participants().length),r(2),N(n.participants()))},dependencies:[B,A,ee,L,J,ge,K,Z,He,Qe,Ot,At,Fe,Oe,te],styles:[".empty[_ngcontent-%COMP%]{text-align:center;color:gray}.participant-list[_ngcontent-%COMP%]{width:100%;display:flex;flex-wrap:wrap;gap:20px 8px;padding:10px 0}.participant-item[_ngcontent-%COMP%]{height:20px;display:flex;justify-content:space-between;gap:12px;align-items:center}.participant-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:8px;padding:4px 10px 4px 4px;border-radius:999px;background:#fafafa;border:1px solid #f0f0f0}.participant-item__name[_ngcontent-%COMP%]{font-size:.875rem;font-weight:600}.remove-btn[_ngcontent-%COMP%]{margin-right:8px}"],changeDetection:0})};var xr=["*"];function Sr(i,t){i&1&&E(0)}var Mr=[[["nz-avatar","nz-comment-avatar",""]],[["nz-comment-content"]],"*"],Tr=["nz-avatar[nz-comment-avatar]","nz-comment-content","*"];function Dr(i,t){if(i&1&&(O(0),u(1),F()),i&2){let e=c(2);r(),T(e.nzAuthor)}}function wr(i,t){if(i&1&&(s(0,"span",4),S(1,Dr,2,1,"ng-container",8),a()),i&2){let e=c();r(),m("nzStringTemplateOutlet",e.nzAuthor)}}function Nr(i,t){if(i&1&&(O(0),u(1),F()),i&2){let e=c(2);r(),T(e.nzDatetime)}}function Er(i,t){if(i&1&&(s(0,"span",5),S(1,Nr,2,1,"ng-container",8),a()),i&2){let e=c();r(),m("nzStringTemplateOutlet",e.nzDatetime)}}function Pr(i,t){}function Ar(i,t){if(i&1&&(s(0,"li")(1,"span"),S(2,Pr,0,0,"ng-template",9),a()()),i&2){let e=t.$implicit;r(2),m("nzCommentActionHost",e.content)}}function Or(i,t){if(i&1&&(s(0,"ul",6),w(1,Ar,3,1,"li",null,ne),a()),i&2){let e=c();r(),N(e.actions)}}var ln=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275dir=Ce({type:i,selectors:[["nz-avatar","nz-comment-avatar",""]],exportAs:["nzCommentAvatar"]})}return i})(),cn=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275dir=Ce({type:i,selectors:[["nz-comment-content"],["","nz-comment-content",""]],hostAttrs:[1,"ant-comment-content-detail"],exportAs:["nzCommentContent"]})}return i})(),Fr=(()=>{class i extends ni{nzCommentActionHost;ngOnInit(){super.ngOnInit()}ngOnDestroy(){super.ngOnDestroy()}ngAfterViewInit(){this.attach(this.nzCommentActionHost)}static \u0275fac=(()=>{let e;return function(o){return(e||(e=Qn(i)))(o||i)}})();static \u0275dir=Ce({type:i,selectors:[["","nzCommentActionHost",""]],inputs:{nzCommentActionHost:"nzCommentActionHost"},exportAs:["nzCommentActionHost"],features:[Yn]})}return i})(),Br=(()=>{class i{implicitContent;viewContainerRef=z(Ct);contentPortal=null;get content(){return this.contentPortal}ngOnInit(){this.contentPortal=new xt(this.implicitContent,this.viewContainerRef)}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-comment-action"]],viewQuery:function(n,o){if(n&1&&he(Se,7),n&2){let l;k(l=V())&&(o.implicitContent=l.first)}},exportAs:["nzCommentAction"],ngContentSelectors:xr,decls:1,vars:0,template:function(n,o){n&1&&(W(),ht(0,Sr,1,0,"ng-template"))},encapsulation:2,changeDetection:0})}return i})(),ut=(()=>{class i{destroyRef=z(xe);cdr=z(Me);directionality=z(qe);nzAuthor;nzDatetime;dir="ltr";actions;ngOnInit(){this.directionality.change?.pipe(de(this.destroyRef)).subscribe(e=>{this.dir=e,this.cdr.detectChanges()}),this.dir=this.directionality.value}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-comment"]],contentQueries:function(n,o,l){if(n&1&&ie(l,Br,4),n&2){let d;k(d=V())&&(o.actions=d)}},hostVars:4,hostBindings:function(n,o){n&2&&pe("ant-comment",!0)("ant-comment-rtl",o.dir==="rtl")},inputs:{nzAuthor:"nzAuthor",nzDatetime:"nzDatetime"},exportAs:["nzComment"],ngContentSelectors:Tr,decls:11,vars:3,consts:[[1,"ant-comment-inner"],[1,"ant-comment-avatar"],[1,"ant-comment-content"],[1,"ant-comment-content-author"],[1,"ant-comment-content-author-name"],[1,"ant-comment-content-author-time"],[1,"ant-comment-actions"],[1,"ant-comment-nested"],[4,"nzStringTemplateOutlet"],[3,"nzCommentActionHost"]],template:function(n,o){n&1&&(W(Mr),s(0,"div",0)(1,"div",1),E(2),a(),s(3,"div",2)(4,"div",3),h(5,wr,2,1,"span",4),h(6,Er,2,1,"span",5),a(),E(7,1),h(8,Or,3,0,"ul",6),a()(),s(9,"div",7),E(10,2),a()),n&2&&(r(5),y(o.nzAuthor?5:-1),r(),y(o.nzDatetime?6:-1),r(2),y(o.actions!=null&&o.actions.length?8:-1))},dependencies:[$e,we,Fr],encapsulation:2,changeDetection:0})}return i})();var mn=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=ue({type:i});static \u0275inj=me({imports:[ut]})}return i})();var Le=["*"];function Vr(i,t){if(i&1&&v(0,"nz-avatar",1),i&2){let e=c();m("nzSrc",e.nzSrc)}}function Rr(i,t){i&1&&E(0)}var jr=[[["nz-list-item-meta-avatar"]],[["nz-list-item-meta-title"]],[["nz-list-item-meta-description"]]],Ur=["nz-list-item-meta-avatar","nz-list-item-meta-title","nz-list-item-meta-description"];function qr(i,t){if(i&1&&v(0,"nz-list-item-meta-avatar",0),i&2){let e=c();m("nzSrc",e.avatarStr)}}function $r(i,t){if(i&1&&(s(0,"nz-list-item-meta-avatar"),ke(1,2),a()),i&2){let e=c();r(),m("ngTemplateOutlet",e.avatarTpl)}}function Wr(i,t){if(i&1&&(O(0),u(1),F()),i&2){let e=c(3);r(),T(e.nzTitle)}}function Qr(i,t){if(i&1&&(s(0,"nz-list-item-meta-title"),S(1,Wr,2,1,"ng-container",3),a()),i&2){let e=c(2);r(),m("nzStringTemplateOutlet",e.nzTitle)}}function Hr(i,t){if(i&1&&(O(0),u(1),F()),i&2){let e=c(3);r(),T(e.nzDescription)}}function Kr(i,t){if(i&1&&(s(0,"nz-list-item-meta-description"),S(1,Hr,2,1,"ng-container",3),a()),i&2){let e=c(2);r(),m("nzStringTemplateOutlet",e.nzDescription)}}function Yr(i,t){if(i&1&&(s(0,"div",1),h(1,Qr,2,1,"nz-list-item-meta-title"),h(2,Kr,2,1,"nz-list-item-meta-description"),E(3,1),E(4,2),a()),i&2){let e=c();r(),y(e.nzTitle&&!e.titleComponent?1:-1),r(),y(e.nzDescription&&!e.descriptionComponent?2:-1)}}function Gr(i,t){i&1&&E(0)}var Xr=["nz-list-item-actions",""];function Zr(i,t){}function Jr(i,t){i&1&&v(0,"em",1)}function es(i,t){if(i&1&&(s(0,"li"),S(1,Zr,0,0,"ng-template",0),h(2,Jr,1,0,"em",1),a()),i&2){let e=t.$implicit,n=t.$index,o=t.$count;r(),m("ngTemplateOutlet",e),r(),y(n!==o-1?2:-1)}}var ts=[[["nz-list-header"]],[["nz-list-footer"],["","nz-list-footer",""]],[["nz-list-load-more"],["","nz-list-load-more",""]],[["nz-list-pagination"],["","nz-list-pagination",""]],"*"],ns=["nz-list-header","nz-list-footer, [nz-list-footer]","nz-list-load-more, [nz-list-load-more]","nz-list-pagination, [nz-list-pagination]","*"],go=(i,t)=>({$implicit:i,index:t});function is(i,t){if(i&1&&(O(0),u(1),F()),i&2){let e=c(2);r(),T(e.nzHeader)}}function os(i,t){if(i&1&&(s(0,"nz-list-header"),S(1,is,2,1,"ng-container",6),a()),i&2){let e=c();r(),m("nzStringTemplateOutlet",e.nzHeader)}}function rs(i,t){i&1&&v(0,"div"),i&2&&Ue("min-height",53,"px")}function ss(i,t){}function as(i,t){if(i&1&&(s(0,"div",7),S(1,ss,0,0,"ng-template",8),a()),i&2){let e=t.$implicit,n=t.$index,o=c(2);m("nzSpan",o.nzGrid.span||null)("nzXs",o.nzGrid.xs||null)("nzSm",o.nzGrid.sm||null)("nzMd",o.nzGrid.md||null)("nzLg",o.nzGrid.lg||null)("nzXl",o.nzGrid.xl||null)("nzXXl",o.nzGrid.xxl||null),r(),m("ngTemplateOutlet",o.nzRenderItem)("ngTemplateOutletContext",Tn(9,go,e,n))}}function ls(i,t){if(i&1&&(s(0,"div",2),w(1,as,2,12,"div",7,ne),a()),i&2){let e=c();m("nzGutter",e.nzGrid.gutter||null),r(),N(e.nzDataSource)}}function cs(i,t){}function ms(i,t){if(i&1&&(O(0),S(1,cs,0,0,"ng-template",8),F()),i&2){let e=t.$implicit,n=t.$index,o=c(2);r(),m("ngTemplateOutlet",o.nzRenderItem)("ngTemplateOutletContext",Tn(2,go,e,n))}}function us(i,t){if(i&1&&(s(0,"div",3),w(1,ms,2,5,"ng-container",null,ne),E(3,4),a()),i&2){let e=c();r(),N(e.nzDataSource)}}function ps(i,t){if(i&1&&v(0,"nz-list-empty",4),i&2){let e=c();m("nzNoResult",e.nzNoResult)}}function ds(i,t){if(i&1&&(O(0),u(1),F()),i&2){let e=c(2);r(),T(e.nzFooter)}}function gs(i,t){if(i&1&&(s(0,"nz-list-footer"),S(1,ds,2,1,"ng-container",6),a()),i&2){let e=c();r(),m("nzStringTemplateOutlet",e.nzFooter)}}function fs(i,t){}function _s(i,t){}function Cs(i,t){if(i&1&&(s(0,"nz-list-pagination"),S(1,_s,0,0,"ng-template",5),a()),i&2){let e=c();r(),m("ngTemplateOutlet",e.nzPagination)}}var hs=[[["nz-list-item-actions"],["","nz-list-item-actions",""]],[["nz-list-item-meta"],["","nz-list-item-meta",""]],"*",[["nz-list-item-extra"],["","nz-list-item-extra",""]]],ys=["nz-list-item-actions, [nz-list-item-actions]","nz-list-item-meta, [nz-list-item-meta]","*","nz-list-item-extra, [nz-list-item-extra]"];function vs(i,t){if(i&1&&v(0,"ul",3),i&2){let e=c(2);m("nzActions",e.nzActions)}}function zs(i,t){if(i&1&&(h(0,vs,1,1,"ul",3),E(1)),i&2){let e=c();y(e.nzActions&&e.nzActions.length>0?0:-1)}}function bs(i,t){if(i&1&&(O(0),u(1),F()),i&2){let e=c(3);r(),T(e.nzContent)}}function Is(i,t){if(i&1&&S(0,bs,2,1,"ng-container",4),i&2){let e=c(2);m("nzStringTemplateOutlet",e.nzContent)}}function xs(i,t){if(i&1&&(E(0,1),E(1,2),h(2,Is,1,1,"ng-container")),i&2){let e=c();r(2),y(e.nzContent?2:-1)}}function Ss(i,t){i&1&&E(0,3)}function Ms(i,t){}function Ts(i,t){}function Ds(i,t){}function ws(i,t){if(i&1&&(s(0,"nz-list-item-extra"),S(1,Ds,0,0,"ng-template",6),a()),i&2){let e=c(2);r(),m("ngTemplateOutlet",e.nzExtra)}}function Ns(i,t){}function Es(i,t){if(i&1&&(s(0,"div",5),S(1,Ms,0,0,"ng-template",6)(2,Ts,0,0,"ng-template",6),a(),h(3,ws,2,1,"nz-list-item-extra"),S(4,Ns,0,0,"ng-template",6)),i&2){let e=c(),n=Q(1),o=Q(3),l=Q(5);r(),m("ngTemplateOutlet",o),r(),m("ngTemplateOutlet",n),r(),y(e.nzExtra?3:-1),r(),m("ngTemplateOutlet",l)}}function Ps(i,t){}function As(i,t){}function Os(i,t){}function Fs(i,t){}function Bs(i,t){if(i&1&&S(0,Ps,0,0,"ng-template",6)(1,As,0,0,"ng-template",6)(2,Os,0,0,"ng-template",6)(3,Fs,0,0,"ng-template",6),i&2){let e=c(),n=Q(1),o=Q(3),l=Q(5);m("ngTemplateOutlet",o),r(),m("ngTemplateOutlet",e.nzExtra),r(),m("ngTemplateOutlet",l),r(),m("ngTemplateOutlet",n)}}var ao=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-list-item-meta-title"]],exportAs:["nzListItemMetaTitle"],ngContentSelectors:Le,decls:2,vars:0,consts:[[1,"ant-list-item-meta-title"]],template:function(n,o){n&1&&(W(),xn(0,"h4",0),E(1),Sn())},encapsulation:2,changeDetection:0})}return i})(),lo=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-list-item-meta-description"]],exportAs:["nzListItemMetaDescription"],ngContentSelectors:Le,decls:2,vars:0,consts:[[1,"ant-list-item-meta-description"]],template:function(n,o){n&1&&(W(),xn(0,"div",0),E(1),Sn())},encapsulation:2,changeDetection:0})}return i})(),fo=(()=>{class i{nzSrc;static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-list-item-meta-avatar"]],inputs:{nzSrc:"nzSrc"},exportAs:["nzListItemMetaAvatar"],ngContentSelectors:Le,decls:3,vars:1,consts:[[1,"ant-list-item-meta-avatar"],[3,"nzSrc"]],template:function(n,o){n&1&&(W(),s(0,"div",0),h(1,Vr,1,1,"nz-avatar",1)(2,Rr,1,0),a()),n&2&&(r(),y(o.nzSrc?1:2))},dependencies:[Fe,Oe],encapsulation:2,changeDetection:0})}return i})(),Ls=(()=>{class i{elementRef=z(Re);avatarStr="";avatarTpl;set nzAvatar(e){e instanceof Se?(this.avatarStr="",this.avatarTpl=e):this.avatarStr=e}nzTitle;nzDescription;descriptionComponent;titleComponent;static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-list-item-meta"],["","nz-list-item-meta",""]],contentQueries:function(n,o,l){if(n&1&&(ie(l,lo,5),ie(l,ao,5)),n&2){let d;k(d=V())&&(o.descriptionComponent=d.first),k(d=V())&&(o.titleComponent=d.first)}},hostAttrs:[1,"ant-list-item-meta"],inputs:{nzAvatar:"nzAvatar",nzTitle:"nzTitle",nzDescription:"nzDescription"},exportAs:["nzListItemMeta"],ngContentSelectors:Ur,decls:4,vars:3,consts:[[3,"nzSrc"],[1,"ant-list-item-meta-content"],[3,"ngTemplateOutlet"],[4,"nzStringTemplateOutlet"]],template:function(n,o){n&1&&(W(jr),h(0,qr,1,1,"nz-list-item-meta-avatar",0),h(1,$r,2,1,"nz-list-item-meta-avatar"),E(2),h(3,Yr,5,2,"div",1)),n&2&&(y(o.avatarStr?0:-1),r(),y(o.avatarTpl?1:-1),r(2),y(o.nzTitle||o.nzDescription||o.descriptionComponent||o.titleComponent?3:-1))},dependencies:[fo,ze,ao,$e,we,lo],encapsulation:2,changeDetection:0})}return i})(),co=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-list-item-extra"],["","nz-list-item-extra",""]],hostAttrs:[1,"ant-list-item-extra"],exportAs:["nzListItemExtra"],ngContentSelectors:Le,decls:1,vars:0,template:function(n,o){n&1&&(W(),E(0))},encapsulation:2,changeDetection:0})}return i})(),ks=(()=>{class i{templateRef;static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-list-item-action"]],viewQuery:function(n,o){if(n&1&&he(Se,7),n&2){let l;k(l=V())&&(o.templateRef=l.first)}},exportAs:["nzListItemAction"],ngContentSelectors:Le,decls:1,vars:0,template:function(n,o){n&1&&(W(),ht(0,Gr,1,0,"ng-template"))},encapsulation:2,changeDetection:0})}return i})(),Vs=(()=>{class i{cdr=z(Me);nzActions=[];nzListItemActions;actions=[];inputActionChanges$=new zn;contentChildrenChanges$=Vn(()=>this.nzListItemActions?gt(null):this.initialized.pipe(kn(()=>this.nzListItemActions.changes.pipe(_t(this.nzListItemActions)))));initialized=new zn;constructor(){ft(this.contentChildrenChanges$,this.inputActionChanges$).pipe(de()).subscribe(()=>{this.nzActions.length?this.actions=this.nzActions:this.actions=this.nzListItemActions.map(e=>e.templateRef),this.cdr.detectChanges()})}ngOnChanges(){this.inputActionChanges$.next(null)}ngAfterContentInit(){this.initialized.next(),this.initialized.complete()}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["ul","nz-list-item-actions",""]],contentQueries:function(n,o,l){if(n&1&&ie(l,ks,4),n&2){let d;k(d=V())&&(o.nzListItemActions=d)}},hostAttrs:[1,"ant-list-item-action"],inputs:{nzActions:"nzActions"},exportAs:["nzListItemActions"],features:[at],attrs:Xr,decls:2,vars:0,consts:[[3,"ngTemplateOutlet"],[1,"ant-list-item-action-split"]],template:function(n,o){n&1&&w(0,es,3,2,"li",null,ne),n&2&&N(o.actions)},dependencies:[ze],encapsulation:2,changeDetection:0})}return i})(),_o=(()=>{class i{nzNoResult;static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-list-empty"]],hostAttrs:[1,"ant-list-empty-text"],inputs:{nzNoResult:"nzNoResult"},exportAs:["nzListHeader"],decls:1,vars:2,consts:[[3,"nzComponentName","specificContent"]],template:function(n,o){n&1&&v(0,"nz-embed-empty",0),n&2&&m("nzComponentName","list")("specificContent",o.nzNoResult)},dependencies:[Ke,Pt],encapsulation:2,changeDetection:0})}return i})(),Rs=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-list-header"]],hostAttrs:[1,"ant-list-header"],exportAs:["nzListHeader"],ngContentSelectors:Le,decls:1,vars:0,template:function(n,o){n&1&&(W(),E(0))},encapsulation:2,changeDetection:0})}return i})(),mo=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-list-footer"]],hostAttrs:[1,"ant-list-footer"],exportAs:["nzListFooter"],ngContentSelectors:Le,decls:1,vars:0,template:function(n,o){n&1&&(W(),E(0))},encapsulation:2,changeDetection:0})}return i})(),uo=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-list-pagination"]],hostAttrs:[1,"ant-list-pagination"],exportAs:["nzListPagination"],ngContentSelectors:Le,decls:1,vars:0,template:function(n,o){n&1&&(W(),E(0))},encapsulation:2,changeDetection:0})}return i})(),js=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275dir=Ce({type:i,selectors:[["nz-list-load-more"]],exportAs:["nzListLoadMoreDirective"]})}return i})();var Co=(()=>{class i{directionality=z(qe);destroyRef=z(xe);nzDataSource;nzBordered=!1;nzGrid="";nzHeader;nzFooter;nzItemLayout="horizontal";nzRenderItem=null;nzLoading=!1;nzLoadMore=null;nzPagination;nzSize="default";nzSplit=!0;nzNoResult;nzListFooterComponent;nzListPaginationComponent;nzListLoadMoreDirective;hasSomethingAfterLastItem=!1;dir="ltr";itemLayoutNotifySource=new Bn(this.nzItemLayout);get itemLayoutNotify$(){return this.itemLayoutNotifySource.asObservable()}constructor(){this.destroyRef.onDestroy(()=>this.itemLayoutNotifySource.unsubscribe())}ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(de(this.destroyRef)).subscribe(e=>{this.dir=e})}getSomethingAfterLastItem(){return!!(this.nzLoadMore||this.nzPagination||this.nzFooter||this.nzListFooterComponent||this.nzListPaginationComponent||this.nzListLoadMoreDirective)}ngOnChanges(e){e.nzItemLayout&&this.itemLayoutNotifySource.next(this.nzItemLayout)}ngAfterContentInit(){this.hasSomethingAfterLastItem=this.getSomethingAfterLastItem()}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-list"],["","nz-list",""]],contentQueries:function(n,o,l){if(n&1&&(ie(l,mo,5),ie(l,uo,5),ie(l,js,5)),n&2){let d;k(d=V())&&(o.nzListFooterComponent=d.first),k(d=V())&&(o.nzListPaginationComponent=d.first),k(d=V())&&(o.nzListLoadMoreDirective=d.first)}},hostAttrs:[1,"ant-list"],hostVars:16,hostBindings:function(n,o){n&2&&pe("ant-list-rtl",o.dir==="rtl")("ant-list-vertical",o.nzItemLayout==="vertical")("ant-list-lg",o.nzSize==="large")("ant-list-sm",o.nzSize==="small")("ant-list-split",o.nzSplit)("ant-list-bordered",o.nzBordered)("ant-list-loading",o.nzLoading)("ant-list-something-after-last-item",o.hasSomethingAfterLastItem)},inputs:{nzDataSource:"nzDataSource",nzBordered:[2,"nzBordered","nzBordered",Te],nzGrid:"nzGrid",nzHeader:"nzHeader",nzFooter:"nzFooter",nzItemLayout:"nzItemLayout",nzRenderItem:"nzRenderItem",nzLoading:[2,"nzLoading","nzLoading",Te],nzLoadMore:"nzLoadMore",nzPagination:"nzPagination",nzSize:"nzSize",nzSplit:[2,"nzSplit","nzSplit",Te],nzNoResult:"nzNoResult"},exportAs:["nzList"],features:[at],ngContentSelectors:ns,decls:14,vars:8,consts:[[3,"nzSpinning"],[3,"min-height"],["nz-row","",3,"nzGutter"],[1,"ant-list-items"],[3,"nzNoResult"],[3,"ngTemplateOutlet"],[4,"nzStringTemplateOutlet"],["nz-col","",3,"nzSpan","nzXs","nzSm","nzMd","nzLg","nzXl","nzXXl"],[3,"ngTemplateOutlet","ngTemplateOutletContext"]],template:function(n,o){n&1&&(W(ts),h(0,os,2,1,"nz-list-header"),E(1),s(2,"nz-spin",0),O(3),h(4,rs,1,2,"div",1),h(5,ls,3,1,"div",2)(6,us,4,0,"div",3),h(7,ps,1,1,"nz-list-empty",4),F(),a(),h(8,gs,2,1,"nz-list-footer"),E(9,1),S(10,fs,0,0,"ng-template",5),E(11,2),h(12,Cs,2,1,"nz-list-pagination"),E(13,3)),n&2&&(y(o.nzHeader?0:-1),r(2),m("nzSpinning",o.nzLoading),r(2),y(o.nzLoading&&o.nzDataSource&&o.nzDataSource.length===0?4:-1),r(),y(o.nzGrid&&o.nzDataSource?5:6),r(2),y(!o.nzLoading&&o.nzDataSource&&o.nzDataSource.length===0?7:-1),r(),y(o.nzFooter?8:-1),r(2),m("ngTemplateOutlet",o.nzLoadMore),r(2),y(o.nzPagination?12:-1))},dependencies:[ze,Rs,$e,we,Lt,Bt,_i,fi,Tt,_o,mo,uo],encapsulation:2,changeDetection:0})}return i})(),Us=(()=>{class i{cdr=z(Me);destroyRef=z(xe);parentComp=z(Co);nzActions=[];nzContent;nzExtra=null;nzNoFlex=!1;listItemExtraDirective;itemLayout;get isVerticalAndExtra(){return this.itemLayout==="vertical"&&(!!this.listItemExtraDirective||!!this.nzExtra)}ngAfterViewInit(){this.parentComp.itemLayoutNotify$.pipe(de(this.destroyRef)).subscribe(e=>{this.itemLayout=e,this.cdr.detectChanges()})}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-list-item"],["","nz-list-item",""]],contentQueries:function(n,o,l){if(n&1&&ie(l,co,5),n&2){let d;k(d=V())&&(o.listItemExtraDirective=d.first)}},hostAttrs:[1,"ant-list-item"],hostVars:2,hostBindings:function(n,o){n&2&&pe("ant-list-item-no-flex",o.nzNoFlex)},inputs:{nzActions:"nzActions",nzContent:"nzContent",nzExtra:"nzExtra",nzNoFlex:[2,"nzNoFlex","nzNoFlex",Te]},exportAs:["nzListItem"],ngContentSelectors:ys,decls:8,vars:1,consts:[["actionsTpl",""],["contentTpl",""],["extraTpl",""],["nz-list-item-actions","",3,"nzActions"],[4,"nzStringTemplateOutlet"],[1,"ant-list-item-main"],[3,"ngTemplateOutlet"]],template:function(n,o){n&1&&(W(hs),S(0,zs,2,1,"ng-template",null,0,G)(2,xs,3,1,"ng-template",null,1,G)(4,Ss,1,0,"ng-template",null,2,G),h(6,Es,5,4)(7,Bs,4,4)),n&2&&(r(6),y(o.isVerticalAndExtra?6:7))},dependencies:[Vs,$e,we,ze,co],encapsulation:2,changeDetection:0})}return i})();var ho=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=ue({type:i});static \u0275inj=me({imports:[Co,_o,Us,Ls,fo]})}return i})();var qs=["items"],$s=["*"],Ws=i=>({$implicit:i});function Qs(i,t){i&1&&ke(0)}function Hs(i,t){if(i&1&&S(0,Qs,1,0,"ng-container",9),i&2){let e=c().$implicit,n=c(2);m("ngTemplateOutlet",n.suggestionTemplate)("ngTemplateOutletContext",lt(2,Ws,e))}}function Ks(i,t){if(i&1&&u(0),i&2){let e=c().$implicit,n=c(2);x(" ",n.nzValueWith(e)," ")}}function Ys(i,t){if(i&1){let e=M();s(0,"li",8,1),_("click",function(){let o=g(e).$implicit,l=c(2);return f(l.selectSuggestion(o))}),h(2,Hs,1,4,"ng-container")(3,Ks,1,1),a()}if(i&2){let e=t.$index,n=c(2);pe("ant-mentions-dropdown-menu-item-active",e===n.activeIndex)("ant-mentions-dropdown-menu-item-selected",e===n.activeIndex),r(2),y(n.suggestionTemplate?2:3)}}function Gs(i,t){i&1&&(s(0,"span"),v(1,"nz-icon",10),a())}function Xs(i,t){if(i&1&&(s(0,"span"),v(1,"nz-embed-empty",11),a()),i&2){let e=c(3);r(),m("specificContent",e.nzNotFoundContent)}}function Zs(i,t){if(i&1&&(s(0,"li",7),h(1,Gs,2,0,"span")(2,Xs,2,1,"span"),a()),i&2){let e=c(2);r(),y(e.nzLoading?1:2)}}function Js(i,t){if(i&1&&(s(0,"div",4)(1,"ul",5),w(2,Ys,4,5,"li",6,ne),h(4,Zs,3,1,"li",7),a()()),i&2){let e=c();r(2),N(e.filteredSuggestions),r(2),y(e.filteredSuggestions.length===0?4:-1)}}function ea(i,t){if(i&1&&v(0,"nz-form-item-feedback-icon",2),i&2){let e=c();m("status",e.status)}}function ta(i,t){i&1&&v(0,"nz-icon",14)}function na(i,t){if(i&1){let e=M();s(0,"span",3)(1,"button",12),_("click",function(){g(e);let o=c();return f(o.clear())}),S(2,ta,1,0,"ng-template",13),a()()}if(i&2){let e=c();r(2),m("nzStringTemplateOutlet",e.nzClearIcon)}}var An=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275dir=Ce({type:i,selectors:[["","nzMentionSuggestion",""]],exportAs:["nzMentionSuggestion"]})}return i})(),rt={split:" "},ia={provide:vi,useExisting:qn(()=>pt),multi:!0},pt=(()=>{class i{elementRef=z(Re);ngZone=z(In);cdr=z(Me);destroyRef=z(xe);onFocusin=new _e;onBlur=new _e;onInput=new _e;onKeydown=new _e;onClick=new _e;value=b("");disabled=b(!1);constructor(){this.destroyRef.onDestroy(()=>{this.completeEvents()}),Hn(()=>{this.setupEventListener("blur",this.onBlur),this.setupEventListener("focusin",this.onFocusin),this.setupEventListener("input",this.onInput),this.setupEventListener("click",this.onClick),this.setupEventListener("keydown",this.onKeydown)})}completeEvents(){this.onFocusin.complete(),this.onBlur.complete(),this.onInput.complete(),this.onKeydown.complete(),this.onClick.complete()}focus(e=null){this.elementRef.nativeElement.focus(),this.elementRef.nativeElement.setSelectionRange(e,e)}insertMention(e){let n=this.elementRef.nativeElement.value,o=`${e.mention}${rt.split}`,l=[n.slice(0,e.startPos+1),o,n.slice(e.endPos,n.length)].join("");this.elementRef.nativeElement.value=l,this.focus(e.startPos+o.length+1),this.onChange(l),this.value.set(l)}clear(){this.value.set(""),this.elementRef.nativeElement.value="",this.onChange("")}writeValue(e){let n=typeof e=="string"?e:"";this.value.set(n),this.elementRef.nativeElement.value=n}onChange=()=>{};onTouched=()=>{};registerOnChange(e){this.onChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.disabled.set(e)}setupEventListener(e,n){St(this.elementRef.nativeElement,e).pipe(de(this.destroyRef)).subscribe(o=>{n.observers.length&&this.ngZone.run(()=>{n.emit(o),this.cdr.markForCheck()})})}static \u0275fac=function(n){return new(n||i)};static \u0275dir=Ce({type:i,selectors:[["input","nzMentionTrigger",""],["textarea","nzMentionTrigger",""]],hostAttrs:["autocomplete","off"],outputs:{onFocusin:"onFocusin",onBlur:"onBlur",onInput:"onInput",onKeydown:"onKeydown",onClick:"onClick"},exportAs:["nzMentionTrigger"],features:[It([ia])]})}return i})(),On=(()=>{class i{ngZone=z(In);directionality=z(qe);cdr=z(Me);injector=z($n);viewContainerRef=z(Ct);elementRef=z(Re);renderer=z(Kn);destroyRef=z(xe);nzValueWith=e=>e;nzPrefix="@";nzLoading=!1;nzNotFoundContent="\u65E0\u5339\u914D\u7ED3\u679C\uFF0C\u8F7B\u6572\u7A7A\u683C\u5B8C\u6210\u8F93\u5165";nzPlacement="bottom";nzSuggestions=[];nzStatus="";nzVariant="outlined";nzAllowClear=!1;nzClearIcon=null;nzOnSelect=new _e;nzOnSearchChange=new _e;nzOnClear=new _e;suggestionsTemp;items;set suggestionChild(e){e&&(this.suggestionTemplate=e)}trigger=Jn.required(pt);isOpen=!1;filteredSuggestions=[];suggestionTemplate=null;activeIndex=-1;dir="ltr";prefixCls="ant-mentions";statusCls={};status="";hasFeedback=!1;focused=b(!1);disabled=C(()=>this.trigger().disabled());hasValue=C(()=>!!this.trigger()?.value().trim());previousValue=null;cursorMention=null;cursorMentionStart;cursorMentionEnd;overlayRef=null;portal;positionStrategy;overlayOutsideClickSubscription;document=z(Wn);get triggerNativeElement(){return this.trigger().elementRef.nativeElement}get focusItemElement(){let e=this.items?.toArray();return e&&e[this.activeIndex]?e[this.activeIndex].nativeElement:null}nzFormStatusService=z(Ci,{optional:!0});nzFormNoStatusService=z(hi,{optional:!0});constructor(){this.destroyRef.onDestroy(()=>{this.closeDropdown()}),R(()=>{this.trigger()&&(this.bindTriggerEvents(),this.closeDropdown(),this.overlayRef=null)})}ngOnInit(){this.nzFormStatusService?.formStatusChanges.pipe(Rn((e,n)=>e.status===n.status&&e.hasFeedback===n.hasFeedback),Un(this.nzFormNoStatusService?this.nzFormNoStatusService.noFormStatus:gt(!1)),Ln(([{status:e,hasFeedback:n},o])=>({status:o?"":e,hasFeedback:n})),de(this.destroyRef)).subscribe(({status:e,hasFeedback:n})=>{this.setStatusStyles(e,n)}),this.dir=this.directionality.value,this.directionality.change?.pipe(de(this.destroyRef)).subscribe(e=>{this.dir=e})}ngOnChanges(e){let{nzSuggestions:n,nzStatus:o}=e;n&&this.isOpen&&(this.previousValue=null,this.activeIndex=-1,this.resetDropdown(!1)),o&&this.setStatusStyles(this.nzStatus,this.hasFeedback)}ngAfterViewInit(){this.items.changes.pipe(_t(this.items),jn(()=>{let e=this.items.toArray();return ft(...e.map(n=>St(n.nativeElement,"mousedown")))})).subscribe(e=>{e.preventDefault()})}closeDropdown(){this.overlayRef&&this.overlayRef.hasAttached()&&(this.overlayRef.detach(),this.overlayOutsideClickSubscription.unsubscribe(),this.isOpen=!1,this.cdr.markForCheck())}openDropdown(){this.attachOverlay(),this.isOpen=!0,this.cdr.markForCheck()}getMentions(){return this.trigger()?si(this.trigger().value(),this.nzPrefix):[]}selectSuggestion(e){let n=this.nzValueWith(e);this.trigger().insertMention({mention:n,startPos:this.cursorMentionStart,endPos:this.cursorMentionEnd}),this.nzOnSelect.emit(e),this.closeDropdown(),this.activeIndex=-1}clear(){this.closeDropdown(),this.trigger().clear(),this.nzOnClear.emit()}handleInput(e){let n=e.target;this.trigger().onChange(n.value),this.trigger().value.set(n.value),this.resetDropdown()}handleKeydown(e){let n=e.keyCode;if(this.isOpen&&n===13&&this.activeIndex!==-1&&this.filteredSuggestions.length)this.selectSuggestion(this.filteredSuggestions[this.activeIndex]),e.preventDefault();else if(n===37||n===39)this.resetDropdown(),e.stopPropagation();else{if(this.isOpen&&(n===9||n===27)){this.closeDropdown();return}this.isOpen&&n===38&&(this.setPreviousItemActive(),e.preventDefault(),e.stopPropagation()),this.isOpen&&n===40&&(this.setNextItemActive(),e.preventDefault(),e.stopPropagation())}}handleClick(){this.resetDropdown(!1)}bindTriggerEvents(){this.trigger().onFocusin.subscribe(()=>this.focused.set(!0)),this.trigger().onBlur.subscribe(()=>this.focused.set(!1)),this.trigger().onInput.subscribe(e=>this.handleInput(e)),this.trigger().onKeydown.subscribe(e=>this.handleKeydown(e)),this.trigger().onClick.subscribe(()=>this.handleClick())}suggestionsFilter(e,n){let o=e.substring(1);if(this.previousValue===e&&e!==this.cursorMention[0])return;this.previousValue=e,n&&this.nzOnSearchChange.emit({value:this.cursorMention.substring(1),prefix:this.cursorMention[0]});let l=o.toLowerCase();this.filteredSuggestions=this.nzSuggestions.filter(d=>this.nzValueWith(d).toLowerCase().includes(l))}resetDropdown(e=!0){if(this.resetCursorMention(),typeof this.cursorMention!="string"||!this.canOpen()){this.closeDropdown();return}this.suggestionsFilter(this.cursorMention,e);let n=this.filteredSuggestions.indexOf(this.cursorMention.substring(1));this.activeIndex=n>=0?n:0,this.openDropdown()}setNextItemActive(){this.activeIndex=this.activeIndex+1<=this.filteredSuggestions.length-1?this.activeIndex+1:0,this.cdr.markForCheck(),this.scrollToFocusItem()}setPreviousItemActive(){this.activeIndex=this.activeIndex-1<0?this.filteredSuggestions.length-1:this.activeIndex-1,this.cdr.markForCheck(),this.scrollToFocusItem()}scrollToFocusItem(){this.focusItemElement&&this.focusItemElement.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"})}canOpen(){let e=this.triggerNativeElement;return!e.readOnly&&!e.disabled}resetCursorMention(){let e=this.triggerNativeElement.value.replace(/[\r\n]/g,rt.split)||"",n=this.triggerNativeElement.selectionStart,o=typeof this.nzPrefix=="string"?[this.nzPrefix]:this.nzPrefix,l=o.length;for(;l>=0;){let d=e.lastIndexOf(o[l],n),st=e.indexOf(rt.split,n)>-1?e.indexOf(rt.split,n):e.length,Ie=e.substring(d,st);if(d>0&&e[d-1]!==rt.split||d<0||Ie.includes(o[l],1)||Ie.includes(rt.split))this.cursorMention=null,this.cursorMentionStart=-1,this.cursorMentionEnd=-1;else{this.cursorMention=Ie,this.cursorMentionStart=d,this.cursorMentionEnd=st;return}l--}}updatePositions(){let e=ai(this.triggerNativeElement,this.cursorMentionStart),n=e.top-this.triggerNativeElement.getBoundingClientRect().height-this.triggerNativeElement.scrollTop+(this.nzPlacement==="bottom"?e.height-6:-6),o=e.left-this.triggerNativeElement.scrollLeft;this.positionStrategy.withDefaultOffsetX(o).withDefaultOffsetY(n),this.nzPlacement==="bottom"&&this.positionStrategy.withPositions([...mi]),this.nzPlacement==="top"&&this.positionStrategy.withPositions([...ci]),this.positionStrategy.apply()}subscribeOverlayOutsideClick(){let e=o=>{let l=o.target;return this.isOpen&&l!==this.triggerNativeElement&&!this.overlayRef?.overlayElement.contains(l)},n=new Fn;return n.add(this.overlayRef.outsidePointerEvents().subscribe(o=>e(o)&&this.closeDropdown())),n.add(St(this.document,"touchend").subscribe(o=>e(o)&&this.ngZone.run(()=>this.closeDropdown()))),n}attachOverlay(){this.overlayRef||(this.portal=new xt(this.suggestionsTemp,this.viewContainerRef),this.overlayRef=ri(this.injector,{positionStrategy:this.getOverlayPosition(),scrollStrategy:ii(this.injector),disposeOnNavigation:!0})),this.overlayRef&&!this.overlayRef.hasAttached()&&(this.overlayRef.attach(this.portal),this.overlayOutsideClickSubscription=this.subscribeOverlayOutsideClick()),this.updatePositions()}getOverlayPosition(){return this.positionStrategy=oi(this.injector,this.trigger().elementRef).withPositions([new wn({originX:"start",originY:"bottom"},{overlayX:"start",overlayY:"top"}),new wn({originX:"start",originY:"top"},{overlayX:"start",overlayY:"bottom"})]).withFlexibleDimensions(!1).withPush(!1)}setStatusStyles(e,n){this.status=e,this.hasFeedback=n,this.cdr.markForCheck(),this.statusCls=li(this.prefixCls,e,n),Object.keys(this.statusCls).forEach(o=>{this.statusCls[o]?this.renderer.addClass(this.elementRef.nativeElement,o):this.renderer.removeClass(this.elementRef.nativeElement,o)})}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=I({type:i,selectors:[["nz-mention"]],contentQueries:function(n,o,l){if(n&1&&(Xn(l,o.trigger,pt,5),ie(l,An,5,Se)),n&2){Zn();let d;k(d=V())&&(o.suggestionChild=d.first)}},viewQuery:function(n,o){if(n&1&&(he(Se,5),he(qs,5,Re)),n&2){let l;k(l=V())&&(o.suggestionsTemp=l.first),k(l=V())&&(o.items=l)}},hostAttrs:[1,"ant-mentions"],hostVars:12,hostBindings:function(n,o){n&2&&pe("ant-mentions-rtl",o.dir==="rtl")("ant-mentions-borderless",o.nzVariant==="borderless")("ant-mentions-filled",o.nzVariant==="filled")("ant-mentions-underlined",o.nzVariant==="underlined")("ant-mentions-focused",o.focused())("ant-mentions-disabled",o.disabled())},inputs:{nzValueWith:"nzValueWith",nzPrefix:"nzPrefix",nzLoading:[2,"nzLoading","nzLoading",Te],nzNotFoundContent:"nzNotFoundContent",nzPlacement:"nzPlacement",nzSuggestions:"nzSuggestions",nzStatus:"nzStatus",nzVariant:"nzVariant",nzAllowClear:[2,"nzAllowClear","nzAllowClear",Te],nzClearIcon:"nzClearIcon"},outputs:{nzOnSelect:"nzOnSelect",nzOnSearchChange:"nzOnSearchChange",nzOnClear:"nzOnClear"},exportAs:["nzMention"],features:[at],ngContentSelectors:$s,decls:5,vars:2,consts:[["suggestions",""],["items",""],[1,"ant-mentions-suffix",3,"status"],[1,"ant-mentions-suffix"],[1,"ant-mentions-dropdown"],["role","menu","tabindex","0",1,"ant-mentions-dropdown-menu"],["role","menuitem","tabindex","-1",1,"ant-mentions-dropdown-menu-item",3,"ant-mentions-dropdown-menu-item-active","ant-mentions-dropdown-menu-item-selected"],[1,"ant-mentions-dropdown-menu-item","ant-mentions-dropdown-menu-item-disabled"],["role","menuitem","tabindex","-1",1,"ant-mentions-dropdown-menu-item",3,"click"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],["nzType","loading"],["nzComponentName","select",3,"specificContent"],["type","button","tabindex","-1",1,"ant-mentions-clear-icon",3,"click"],[3,"nzStringTemplateOutlet"],["nzType","close-circle","nzTheme","fill"]],template:function(n,o){n&1&&(W(),E(0),S(1,Js,5,1,"ng-template",null,0,G),h(3,ea,1,1,"nz-form-item-feedback-icon",2),h(4,na,3,1,"span",3)),n&2&&(r(3),y(o.hasFeedback&&o.status?3:-1),r(),y(o.nzAllowClear&&o.hasValue()?4:-1))},dependencies:[ze,K,Z,Ke,Pt,yi,we],encapsulation:2,changeDetection:0})}return i})();var un=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=ue({type:i});static \u0275inj=me({imports:[On]})}return i})();var yo={member:"\u6210\u5458",product:"\u4EA7\u54C1",ui:"UI",frontend_dev:"\u524D\u7AEF\u5F00\u53D1",backend_dev:"\u540E\u7AEF\u5F00\u53D1",qa:"\u6D4B\u8BD5",ops:"\u8FD0\u7EF4",project_admin:"\u9879\u76EE\u7BA1\u7406\u5458"};function ra(i,t){if(i&1&&(s(0,"div",6)(1,"span",7),u(2),a(),s(3,"span",8),u(4),a()()),i&2){let e=t.$implicit,n=c();r(2),T(e.displayName||e.userId),r(2),T(n.roleLabel(e.roleCode))}}function sa(i,t){i&1&&u(0," \u53D1\u9001\u8BC4\u8BBA ")}function aa(i,t){i&1&&u(0," \u6CA1\u6709\u8BC4\u8BBA\u6743\u9650 ")}var pn=class i{busy=p(!1);canComment=p(!1);members=p([]);submit=D();mentionKeyword=b("");commentDraft=b("");mentionOptions=C(()=>{let t=this.mentionKeyword().trim().toLowerCase(),e=this.members();return t?e.filter(n=>{let o=(n.displayName||"").toLowerCase(),l=(n.userId||"").toLowerCase();return o.includes(t)||l.includes(t)}).slice(0,20):e.slice(0,20)});mentionLabel(t){return t.displayName?.trim()||t.userId}handleMentionSearch(t){this.mentionKeyword.set(t.value||"")}handleMentionSelect(t){this.mentionKeyword.set("")}roleLabel(t){return yo[t]||t}handleSubmit(){this.commentDraft().trim()&&(this.submit.emit({content:this.commentDraft(),mentions:this.collectMentions(this.commentDraft())}),this.commentDraft.set(""),this.mentionKeyword.set(""))}collectMentions(t){let e=new Set;for(let n of this.members()){let o=this.mentionLabel(n);o&&t.includes(`@${o}`)&&e.add(n.userId)}return[...e]}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-comment-input"]],inputs:{busy:[1,"busy"],canComment:[1,"canComment"],members:[1,"members"]},outputs:{submit:"submit"},decls:11,vars:7,consts:[["nz-comment-avatar","","nzSize","small",2,"background-color","#87d068",3,"nzSrc","nzText"],[3,"nzOnSearchChange","nzOnSelect","nzSuggestions","nzValueWith"],["nz-input","","nzMentionTrigger","","rows","4","placeholder","\u6DFB\u52A0\u8BC4\u8BBA...\u8F93\u5165 @ \u63D0\u53CA\u6210\u5458",1,"comment-input",3,"ngModelChange","ngModel"],["nzMentionSuggestion",""],[1,"toolbar"],["nz-button","","nzType","primary",1,"send",3,"click","nzLoading","disabled"],[1,"mention-option"],[1,"mention-name"],[1,"mention-id"]],template:function(e,n){e&1&&(s(0,"nz-comment"),v(1,"nz-avatar",0),s(2,"nz-comment-content")(3,"nz-form-item")(4,"nz-mention",1),_("nzOnSearchChange",function(l){return n.handleMentionSearch(l)})("nzOnSelect",function(l){return n.handleMentionSelect(l)}),s(5,"textarea",2),bt("ngModelChange",function(l){return zt(n.commentDraft,l)||(n.commentDraft=l),l}),a(),S(6,ra,5,2,"ng-template",3),a()(),s(7,"nz-form-item",4)(8,"button",5),_("click",function(){return n.handleSubmit()}),h(9,sa,1,0)(10,aa,1,0),a()()()()),e&2&&(r(),m("nzText","\u6211"),r(3),m("nzSuggestions",n.mentionOptions())("nzValueWith",n.mentionLabel),r(),vt("ngModel",n.commentDraft),r(3),m("nzLoading",n.busy())("disabled",!n.canComment()),r(),y(n.canComment()?9:10))},dependencies:[mn,ut,ln,cn,Fe,Oe,un,On,pt,An,A,ee,L,J,Y,le,H,B,ae,U,q,kt,Tt,Ri],styles:[".comment-input[_ngcontent-%COMP%]{width:100%;border-radius:10px}.toolbar[_ngcontent-%COMP%]{display:flex;justify-content:end}.send[_ngcontent-%COMP%]{border-radius:6px}.mention-option[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:12px}.mention-name[_ngcontent-%COMP%]{font-weight:600}.mention-id[_ngcontent-%COMP%]{font-size:12px}"]})};var zo=i=>({$implicit:i}),vo=()=>[],la=(i,t)=>t.value,ca=(i,t)=>t.id;function ma(i,t){if(i&1&&v(0,"nz-option",10),i&2){let e=t.$implicit;m("nzLabel",e.label)("nzValue",e.value)}}function ua(i,t){if(i&1){let e=M();s(0,"div",4)(1,"label",8),u(2,"\u7B5B\u9009"),a(),s(3,"nz-select",9),_("ngModelChange",function(o){g(e);let l=c();return f(l.onFilterModelChange(o))}),w(4,ma,1,2,"nz-option",10,la),a()()}if(i&2){let e=c();r(3),m("ngModel",e.filterMode())("nzDropdownMatchSelectWidth",!1),r(),N(e.filterOptions())}}function pa(i,t){i&1&&(s(0,"div",7),u(1,"\u6682\u65E0\u8BC4\u8BBA/\u5907\u6CE8"),a())}function da(i,t){i&1&&ke(0)}function ga(i,t){if(i&1&&(s(0,"div",12)(1,"nz-comment",14),v(2,"nz-avatar",15),s(3,"nz-comment-content")(4,"p",16),S(5,da,1,0,"ng-container",17),a()()(),s(6,"span",18),u(7),ye(8,"date"),a()()),i&2){let e=c().$implicit,n=Q(6),o=c(2);r(),m("nzAuthor",e.operatorName),r(),m("nzSrc",o.getMemberAvatarUrl((e==null?null:e.operatorId)??""))("nzText",e.operatorName.charAt(0)),r(3),m("ngTemplateOutlet",n)("ngTemplateOutletContext",lt(9,zo,e)),r(2),T(ve(8,6,e.createdAt,"MM/dd HH:mm"))}}function fa(i,t){i&1&&ke(0)}function _a(i,t){if(i&1&&(s(0,"div",13)(1,"div",19)(2,"span",20),u(3),a(),S(4,fa,1,0,"ng-container",17),s(5,"div",18),u(6),ye(7,"date"),a()()()),i&2){let e=c().$implicit,n=Q(6);r(3),T(e.operatorName||"\u7CFB\u7EDF"),r(),m("ngTemplateOutlet",n)("ngTemplateOutletContext",lt(7,zo,e)),r(2),T(ve(7,4,e.createdAt,"MM/dd HH:mm"))}}function Ca(i,t){if(i&1&&v(0,"nz-icon",21),i&2){let e=c().$implicit,n=c(2);m("nzType",n.iconType(e))}}function ha(i,t){if(i&1&&(s(0,"span",24),u(1),a()),i&2){let e=c().$implicit;r(),T(e.text)}}function ya(i,t){if(i&1&&(s(0,"span"),u(1),a()),i&2){let e=c().$implicit;r(),T(e.text)}}function va(i,t){if(i&1&&h(0,ha,2,1,"span",24)(1,ya,2,1,"span"),i&2){let e=t.$implicit;y(e.mention?0:1)}}function za(i,t){if(i&1&&v(0,"img",23),i&2){let e=t.$implicit;m("nzSrc",e)}}function ba(i,t){if(i&1&&(s(0,"app-ellipsis-text",22),w(1,va,2,1,null,null,yt),v(3,"br"),w(4,za,1,1,"img",23,ne),a()),i&2){let e=t.$implicit;m("lines",2)("maxHeight",46),r(),N(e.segments??Mn(2,vo)),r(3),N(e.imgUrls??Mn(3,vo))}}function Ia(i,t){if(i&1&&(s(0,"nz-timeline-item",11),h(1,ga,9,11,"div",12)(2,_a,8,9,"div",13),a(),S(3,Ca,1,1,"ng-template",null,0,G)(5,ba,6,4,"ng-template",null,1,G)),i&2){let e=t.$implicit,n=Q(4);m("nzDot",n),r(),y(e.actionType==="comment"?1:2)}}function xa(i,t){if(i&1&&(s(0,"nz-timeline"),w(1,Ia,7,2,null,null,ca),a()),i&2){let e=c();r(),N(e.parsedLogs())}}var dn=class i{logs=p.required();issueId=p("");canComment=p(!1);members=p([]);projectId=p();busy=p(!1);submit=D();filterMode=b("all");constructor(){R(()=>{this.issueId()&&this.filterMode.set("all")})}showFilter=C(()=>this.logs().length>10);filterOptions=C(()=>{let t=Array.from(new Set(this.logs().map(e=>e.actionType).filter(e=>!!e?.trim())));return[{value:"all",label:"\u5168\u90E8"},...t.map(e=>({value:e,label:oo[e]||e}))]});parsedLogs=C(()=>{let t;return this.filterMode()==="all"?t=this.logs():t=this.logs().filter(e=>e.actionType===this.filterMode()),t.map(e=>{let n=this.parseLogContent(e);return X(X({},e),n)})});membersNames=C(()=>this.members().map(t=>t.displayName));parseLogContent(t){let e=[],n=[],o=t.summary;if(!o)return{segments:n};if(t.actionType==="comment"||t.actionType==="reopen"){let l=$t(o,this.projectId(),this.issueId(),"issues");o=l.text,e.push(...l.imgUrls)}return n=Ji(o,this.membersNames()),{segments:n,imgUrls:e}}onFilterModelChange(t){let e=t||"all",n=this.filterOptions().some(o=>o.value===e);this.filterMode.set(n?e:"all")}iconType(t){let e=this.readMetaKind(t.metaJson);return e==="participant.added"||e==="participant.added.batch"?"user-add":e==="participant.removed"?"user-delete":e==="issue_branch.created"||e==="issue_branch.claimed"?"share-alt":e==="issue_branch.started"?"play-circle":e==="issue_branch.completed"?"check-circle":{create:"plus-circle",assign:"user-add",claim:"user-add",start:"play-circle",wait_update:"clock-circle",resolve:"check-circle",verify:"safety-certificate",reopen:"redo",close:"close-circle",comment:"message",update:"edit"}[t.actionType]||"clock-circle"}getMemberAvatarUrl(t){return""}transformAvatarUrl(t,e,n){let o=/\/api\/admin\/uploads\/(upl_[a-zA-Z0-9_-]+)\/raw/,l=t.match(o);if(l){let d=l[1];return`/api/token/projects/${e}/issues/${n}/attachments/${d}/raw`}else return""}readMetaKind(t){let e=this.parseMeta(t);return typeof e?.kind=="string"?e.kind:null}parseMeta(t){if(!t)return null;try{let e=JSON.parse(t);return e&&typeof e=="object"?e:null}catch{return null}}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-logs-area"]],inputs:{logs:[1,"logs"],issueId:[1,"issueId"],canComment:[1,"canComment"],members:[1,"members"],projectId:[1,"projectId"],busy:[1,"busy"]},outputs:{submit:"submit"},decls:7,vars:5,consts:[["dotTemplate",""],["logContent",""],["title","\u6D3B\u52A8\u8BB0\u5F55"],["actions",""],["panel-actions","",1,"timeline-filter"],[3,"submit","busy","members","canComment"],[1,"logs-content"],[1,"comment-empty"],[1,"timeline-filter__label"],["nzSize","small",1,"timeline-filter__select",3,"ngModelChange","ngModel","nzDropdownMatchSelectWidth"],[3,"nzLabel","nzValue"],[3,"nzDot"],[1,"comment-item"],[1,"log-item"],[3,"nzAuthor"],["nz-comment-avatar","","nzSize","small",2,"background-color","#1890ff",3,"nzSrc","nzText"],[1,"summary"],[4,"ngTemplateOutlet","ngTemplateOutletContext"],[1,"time"],[1,"meta"],[1,"operator"],["nzTheme","outline",2,"font-size","16px",3,"nzType"],[3,"lines","maxHeight"],["nz-image","","width","100px","height","100px","alt","",3,"nzSrc"],[1,"mention"]],template:function(e,n){e&1&&(s(0,"app-detail-item-card",2)(1,"div",3),h(2,ua,6,2,"div",4),a(),s(3,"app-issue-comment-input",5),_("submit",function(l){return n.submit.emit(l)}),a(),s(4,"div",6),h(5,pa,2,0,"div",7)(6,xa,3,0,"nz-timeline"),a()()),e&2&&(r(2),y(n.showFilter()?2:-1),r(),m("busy",n.busy())("members",n.members())("canComment",n.canComment()),r(2),y(n.logs().length===0?5:6))},dependencies:[H,ze,B,U,q,A,L,K,Z,Y,ho,mn,ut,ln,cn,Qi,$i,Wi,Ze,Xe,un,kt,ge,Pe,Ae,Di,Fe,Oe,pn,te,et,De],styles:[".timeline-filter[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px}.timeline-filter[_ngcontent-%COMP%] .timeline-filter__label[_ngcontent-%COMP%]{white-space:nowrap;color:gray;font-size:12px}.timeline-filter[_ngcontent-%COMP%] .timeline-filter__select[_ngcontent-%COMP%]{min-width:128px;height:auto}.mention[_ngcontent-%COMP%]{color:#1677ff;font-weight:500;cursor:pointer}.comment-empty[_ngcontent-%COMP%]{margin:1rem;text-align:center;color:gray}.logs-content[_ngcontent-%COMP%]{padding:12px 0;max-height:600px;overflow:auto}.log-item[_ngcontent-%COMP%]{padding:4px 0 0}.log-item[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%]{display:flex;align-items:start;gap:.875rem;color:#000000a6;font-size:.875rem;margin-bottom:4px}.log-item[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%] .operator[_ngcontent-%COMP%]{font-weight:700;white-space:nowrap}.log-item[_ngcontent-%COMP%] .empty[_ngcontent-%COMP%]{color:#00000073}.comment-item[_ngcontent-%COMP%]{display:flex}.time[_ngcontent-%COMP%]{padding-left:10px;display:flex;align-items:center;min-width:100px;font-size:14px;font-weight:300;color:#bbb;margin-left:auto}.log-item[_ngcontent-%COMP%]{padding-bottom:16px}.summary[_ngcontent-%COMP%]{font-size:14px}[_nghost-%COMP%] .ant-timeline-item{margin-left:6px;padding-bottom:0}"],changeDetection:0})};function Sa(i,t){i&1&&v(0,"app-markdown-viewer",1),i&2&&m("content",t)("showToc",!0)("tocVariant","floating")("tocCollapsedByDefault",!0)}function Ma(i,t){i&1&&(s(0,"div",2),u(1,"\u6682\u65E0\u63CF\u8FF0"),a())}function Ta(i,t){if(i&1&&(s(0,"div",3)(1,"div",4),u(2,"\u89E3\u51B3\u8BF4\u660E"),a(),s(3,"div",5)(4,"app-ellipsis-text",6),u(5),a()()()),i&2){let e=c();r(4),m("lines",2),r(),x(" ",e.issue().resolutionSummary," ")}}function Da(i,t){if(i&1&&(s(0,"div",3)(1,"div",4),u(2,"\u5173\u95ED\u539F\u56E0"),a(),s(3,"div",5)(4,"app-ellipsis-text",6),u(5),a()()()),i&2){let e=c();r(4),m("lines",2),r(),x(" ",e.issue().closeReason," ")}}function wa(i,t){if(i&1&&v(0,"img",7),i&2){let e=t.$implicit;m("nzSrc",e)}}function Na(i,t){if(i&1&&(s(0,"div",3)(1,"div",4),u(2,"\u91CD\u5F00\u539F\u56E0"),a(),s(3,"div",5)(4,"app-ellipsis-text",6),u(5),v(6,"br"),w(7,wa,1,1,"img",7,ne),a()()()),i&2){let e=c();r(4),m("lines",2),r(),x(" ",e.closeRemarkContent().text," "),r(2),N(e.closeRemarkContent().imgUrls)}}var gn=class i{issue=p.required();projectId=p("");mdContent=C(()=>Zi(this.issue().description||"",this.projectId(),this.issue().id,"issues"));closeRemarkContent=C(()=>{let t=this.issue();return t?$t(t.closeRemark||"",this.projectId(),this.issue().id,"issues"):{text:"",imgUrls:[]}});getIssueTitleByType(t){let e=io.find(n=>n.type===t.type);return e?e.title:"\u95EE\u9898\u63CF\u8FF0"}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-description-area"]],inputs:{issue:[1,"issue"],projectId:[1,"projectId"]},decls:6,vars:5,consts:[["maxHeight","550px",3,"title"],[3,"content","showToc","tocVariant","tocCollapsedByDefault"],[1,"empty"],[1,"resolution"],[1,"resolution-label"],[1,"resolution-content"],[3,"lines"],["nz-image","","width","150px","height","100px","alt","",3,"nzSrc"]],template:function(e,n){if(e&1&&(s(0,"app-detail-item-card",0),h(1,Sa,1,4,"app-markdown-viewer",1)(2,Ma,2,0,"div",2),h(3,Ta,6,2,"div",3),h(4,Da,6,2,"div",3),h(5,Na,9,2,"div",3),a()),e&2){let o;m("title",n.getIssueTitleByType(n.issue())),r(),y((o=n.mdContent())?1:2,o),r(2),y(n.issue().resolutionSummary?3:-1),r(),y(n.issue().closeReason?4:-1),r(),y(n.issue().closeRemark?5:-1)}},dependencies:[te,Gi,Ze,Xe,et],styles:[".empty[_ngcontent-%COMP%]{margin:1rem;text-align:center;color:gray;font-size:.875rem}.resolution[_ngcontent-%COMP%]{margin-top:26px}.resolution[_ngcontent-%COMP%] .resolution-label[_ngcontent-%COMP%]{margin-bottom:4px;font-size:.8rem;font-weight:700;color:gray}.resolution[_ngcontent-%COMP%] .resolution-content[_ngcontent-%COMP%]{font-size:.8rem;margin-bottom:4px}"]})};function Ea(i,t){i&1&&(s(0,"span",10),u(1),a()),i&2&&(r(),T(t))}function Pa(i,t){if(i&1&&(s(0,"div",8)(1,"div",9),h(2,Ea,2,1,"span",10),s(3,"strong"),u(4),a()()()),i&2){let e,n=c();r(2),y((e=n.subtitleText())?2:-1,e),r(2),T(n.titleText())}}function Aa(i,t){i&1&&v(0,"nz-empty",11),i&2&&m("nzNotFoundContent","\u60A8\u6CA1\u6709\u6743\u9650\u67E5\u770B\u8BE5\u95EE\u9898\u8BE6\u60C5")}function Oa(i,t){i&1&&v(0,"nz-spin",12)}function Fa(i,t){if(i&1){let e=M();s(0,"div",13)(1,"div",14)(2,"app-issue-action-area",15),_("actionClick",function(o){g(e);let l=c(2);return f(l.handleActions(o))}),a()(),s(3,"div",16)(4,"div",17),v(5,"app-issue-description-area",18),s(6,"app-issue-logs-area",19),_("submit",function(o){g(e);let l=c(2);return f(l.store.postComment(o))}),a()(),s(7,"div",20),v(8,"app-issue-base-info-area",21),s(9,"app-issue-branches",22),_("startOwn",function(){g(e);let o=c(2);return f(o.openStartOwnBranch())})("create",function(){g(e);let o=c(2);return f(o.openCreateBranch())})("startBranch",function(o){g(e);let l=c(2);return f(l.store.startBranch(o))})("completeBranch",function(o){g(e);let l=c(2);return f(l.store.completeBranch(o))}),a(),s(10,"app-issue-collaborators-area",23),_("removeParticipant",function(o){g(e);let l=c(2);return f(l.removeParticipant(o))}),a(),v(11,"app-issue-attachment-area",24),a()()()}if(i&2){let e=t,n=c(2);r(2),m("issue",e)("logs",n.store.logs())("canStart",n.store.canStart())("canClaim",n.store.canClaim())("canAssign",n.store.canAssign())("assignActionLabel",n.store.assignActionLabel())("startActionLabel",n.store.startActionLabel())("canManageParticipants",n.store.canManageParticipants())("canPendingUpdate",n.store.canPendingUpdate())("canResolve",n.store.canResolve())("canVerify",n.store.canVerify())("canReopen",n.store.canReopen())("canClose",n.store.canClose()),r(3),m("issue",e)("projectId",n.store.currentProjectId()),r(),m("issueId",e.id)("busy",n.store.busy())("logs",n.store.logs())("members",n.store.members())("projectId",n.store.currentProjectId())("canComment",n.store.canComment()),r(2),m("issue",e),r(),m("branches",n.store.branches())("canStartActions",n.store.canStartBranchActions())("canCreate",n.store.canCreateBranches())("canStartOwn",n.store.canStartOwnBranch())("canCompleteBranch",n.store.canCompleteBranch())("summary",n.store.branchSummary())("busy",n.store.busy()),r(),m("issue",e)("participants",n.store.participants())("canManageParticipants",n.store.canManageParticipants())("busy",n.store.busy()),r(),m("attachments",n.store.attachments())("projectId",n.store.currentProjectId())("members",n.store.members())}}function Ba(i,t){if(i&1&&h(0,Aa,1,1,"nz-empty",11)(1,Oa,1,0,"nz-spin",12)(2,Fa,12,36,"div",13),i&2){let e,n=c();y(n.store.canRead()?n.store.loading()?1:(e=n.store.issue())?2:-1:0,e)}}var fn=class i{modal=z(We);store=z(Ve);open=p(!1);close=D();startOwnBranchOpen=b(!1);createBranchOpen=b(!1);IssueCloseDialogOpen=b(!1);IssueAddParticipantsDialogOpen=b(!1);IssueResolveDialogOpen=b(!1);IssueAssignDialogOpen=b(!1);subtitleText=C(()=>this.store.issue()?.issueNo||"");titleText=C(()=>this.store.issue()?.title||"\u95EE\u9898\u8BE6\u60C5");closeDetaile(){this.close.emit()}handleActions(t){switch(t){case"comment":break;case"start":{this.startConfirm();break}case"claim":{this.claimConfirm();break}case"assign":{this.IssueAssignDialogOpen.set(!0);break}case"wait_update":{this.waitForUpdateConfirm();break}case"resolve":{this.IssueResolveDialogOpen.set(!0);break}case"verify":break;case"reopen":break;case"close":{this.IssueCloseDialogOpen.set(!0);break}case"add_participants":{this.IssueAddParticipantsDialogOpen.set(!0);break}case"remove_participants":break}}startConfirm(){this.modal.confirm({nzTitle:this.store.issue()?.status==="pending_update"?"\u786E\u8BA4\u7EE7\u7EED\u5904\u7406\u8BE5\u95EE\u9898\uFF1F":"\u786E\u8BA4\u5F00\u59CB\u5904\u7406\u8BE5\u95EE\u9898\uFF1F",nzContent:this.store.issue()?.status==="pending_update"?"\u7EE7\u7EED\u5904\u7406\u540E\uFF0C\u72B6\u6001\u5C06\u4ECE\u201C\u5F85\u63D0\u6D4B\u201D\u56DE\u5230\u201C\u5904\u7406\u4E2D\u201D\u3002":"\u5F00\u59CB\u5904\u7406\u540E\u5C06\u8FDB\u5165\u5904\u7406\u6D41\u8F6C\uFF0C\u8D1F\u8D23\u4EBA\u53EF\u7EE7\u7EED\u5904\u7406\u3001\u8F6C\u6D3E\u6216\u6807\u8BB0\u5F85\u63D0\u6D4B\u3002",nzOkText:this.store.issue()?.status==="pending_update"?"\u786E\u8BA4\u7EE7\u7EED":"\u786E\u8BA4\u5F00\u59CB",nzCancelText:"\u53D6\u6D88",nzOnOk:()=>this.store.start()})}waitForUpdateConfirm(){this.modal.confirm({nzTitle:"\u6807\u8BB0\u4E3A\u5F85\u63D0\u6D4B\uFF1F",nzContent:"\u9002\u7528\u4E8E\u4EE3\u7801\u5DF2\u63D0\u4EA4\u3001\u7B49\u5F85\u6D4B\u8BD5\u9A8C\u8BC1\u7684\u60C5\u51B5\uFF0C\u65B9\u4FBF\u540E\u7EED\u5355\u72EC\u7B5B\u9009\u3002",nzOkText:"\u786E\u8BA4\u6807\u8BB0",nzCancelText:"\u53D6\u6D88",nzOnOk:()=>this.store.waitForUpdate()})}resolveConfirm(t){this.IssueResolveDialogOpen.set(!1);let e=t.trim(),n=this.store.pendingBranchCount();if(n>0){this.modal.confirm({nzTitle:`\u8FD8\u6709 ${n} \u4E2A\u672A\u5B8C\u6210\u534F\u4F5C\u5206\u652F\uFF0C\u4ECD\u8981\u6807\u8BB0\u89E3\u51B3\u5417\uFF1F`,nzContent:"\u534F\u4F5C\u5206\u652F\u4E0D\u4F1A\u81EA\u52A8\u5173\u95ED\uFF0C\u4E3B\u6D4B\u8BD5\u5355\u4F1A\u6309\u8D1F\u8D23\u4EBA\u64CD\u4F5C\u7EE7\u7EED\u8FDB\u5165\u5F85\u9A8C\u8BC1\u3002",nzOkText:"\u4ECD\u7136\u89E3\u51B3",nzCancelText:"\u53D6\u6D88",nzOnOk:()=>this.store.resolve(e||void 0)});return}this.store.resolve(e||void 0)}cancelResolveDialog(){this.IssueResolveDialogOpen.set(!1)}cancelAssignDialog(){this.IssueAssignDialogOpen.set(!1)}assignConfirm(t){this.store.assign(t),this.IssueAssignDialogOpen.set(!1)}claimConfirm(){this.modal.confirm({nzTitle:"\u786E\u5B9A\u8BA4\u9886\u8BE5\u95EE\u9898\uFF1F",nzContent:"\u8BA4\u9886\u540E\u4F60\u5C06\u6210\u4E3A\u8D1F\u8D23\u4EBA\uFF0C\u53EF\u7EE7\u7EED\u5F00\u59CB\u5904\u7406\u3002\uFF08\u8F6C\u6D3E\u9700\u524D\u5F80NGM Hub V2\uFF09",nzOnOk:()=>{this.store.claim()}})}openStartOwnBranch(){this.startOwnBranchOpen.set(!0)}confirmStartOwnBranch(t){this.store.startOwnBranch(t),this.startOwnBranchOpen.set(!1)}openCreateBranch(){this.createBranchOpen.set(!0)}confirmCreateBranch(t){this.store.createBranch(t),this.createBranchOpen.set(!1)}cancelCloseDialog(){this.IssueCloseDialogOpen.set(!1)}closeConfirm(t){}cancelAddParticipantsConfirm(){this.IssueAddParticipantsDialogOpen.set(!1)}AddParticipantsConfirm(t){this.store.addParticipants(t),this.IssueAddParticipantsDialogOpen.set(!1)}removeParticipant(t){this.store.removeParticipant(t)}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-detail"]],inputs:{open:[1,"open"]},outputs:{close:"close"},decls:10,vars:30,consts:[["drawerTitleTpl",""],[3,"nzOnClose","nzVisible","nzClosable","nzMaskClosable","nzWidth","nzWrapClassName","nzMask","nzTitle"],["nzDrawerContent",""],[3,"confirm","cancel","open","issue","busy"],[3,"cancel","confirm","open","busy","issue","participants"],[3,"cancel","confirm","open","busy","item"],[3,"cancel","confirm","open","busy","issue","members","participants"],[3,"cancel","confirm","open","busy","issue","actionLabel","members"],[1,"title-wrap"],[1,"title-main"],[1,"subtitle"],[3,"nzNotFoundContent"],["nzSize","large","nzTip","\u6B63\u5728\u52A0\u8F7D\u6D4B\u8BD5\u5355\u8BE6\u60C5",1,"loading"],[1,"detail-wrap"],[1,"detail-header"],[3,"actionClick","issue","logs","canStart","canClaim","canAssign","assignActionLabel","startActionLabel","canManageParticipants","canPendingUpdate","canResolve","canVerify","canReopen","canClose"],[1,"detail-content"],[1,"left-column"],[3,"issue","projectId"],[3,"submit","issueId","busy","logs","members","projectId","canComment"],[1,"right-column"],[3,"issue"],[3,"startOwn","create","startBranch","completeBranch","branches","canStartActions","canCreate","canStartOwn","canCompleteBranch","summary","busy"],[3,"removeParticipant","issue","participants","canManageParticipants","busy"],[3,"attachments","projectId","members"]],template:function(e,n){if(e&1){let o=M();s(0,"nz-drawer",1),_("nzOnClose",function(){return g(o),f(n.closeDetaile())}),S(1,Pa,5,2,"ng-template",null,0,G)(3,Ba,3,1,"ng-template",2),s(4,"app-issue-start-own-branch-dialog",3),_("confirm",function(d){return g(o),f(n.confirmStartOwnBranch(d))})("cancel",function(){return g(o),f(n.startOwnBranchOpen.set(!1))}),a(),s(5,"app-issue-create-branch-dialog",4),_("cancel",function(){return g(o),f(n.createBranchOpen.set(!1))})("confirm",function(d){return g(o),f(n.confirmCreateBranch(d))}),a(),s(6,"app-issue-close-dialog",5),_("cancel",function(){return g(o),f(n.cancelCloseDialog())})("confirm",function(d){return g(o),f(n.closeConfirm(d))}),a(),s(7,"app-issue-add-participants-dialog",6),_("cancel",function(){return g(o),f(n.cancelAddParticipantsConfirm())})("confirm",function(d){return g(o),f(n.AddParticipantsConfirm(d))}),a(),s(8,"app-issue-resolve-dialog",5),_("cancel",function(){return g(o),f(n.cancelResolveDialog())})("confirm",function(d){return g(o),f(n.resolveConfirm(d))}),a(),s(9,"app-issue-assign-dialog",7),_("cancel",function(){return g(o),f(n.cancelAssignDialog())})("confirm",function(d){return g(o),f(n.assignConfirm(d))}),a()()}if(e&2){let o=Q(2);m("nzVisible",n.open())("nzClosable",!0)("nzMaskClosable",!0)("nzWidth",900)("nzWrapClassName","rd-detail-drawer")("nzMask",!1)("nzTitle",o),r(4),m("open",n.startOwnBranchOpen())("issue",n.store.issue())("busy",n.store.busy()),r(),m("open",n.createBranchOpen())("busy",n.store.busy())("issue",n.store.issue())("participants",n.store.participants()),r(),m("open",n.IssueCloseDialogOpen())("busy",n.store.busy())("item",n.store.issue()),r(),m("open",n.IssueAddParticipantsDialogOpen())("busy",n.store.busy())("issue",n.store.issue())("members",n.store.members())("participants",n.store.participants()),r(),m("open",n.IssueResolveDialogOpen())("busy",n.store.busy())("item",n.store.issue()),r(),m("open",n.IssueAssignDialogOpen())("busy",n.store.busy())("issue",n.store.issue())("actionLabel",n.store.assignActionLabel())("members",n.store.members())}},dependencies:[gi,di,pi,Ke,Ti,Lt,Bt,Jt,an,dn,tn,rn,gn,sn,Gt,Kt,Ht,Yt,Qt,Wt,H],styles:[".loading[_ngcontent-%COMP%]{margin-top:40%}.title-wrap[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center}.title-wrap[_ngcontent-%COMP%] .subtitle[_ngcontent-%COMP%]{margin-right:1rem;font-size:12px;line-height:1.4;padding:3px 8px;border-radius:4px;white-space:nowrap;background:#f1f5f9;color:#64748b}.detail-wrap[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:column;gap:10px}.detail-wrap[_ngcontent-%COMP%] .detail-header[_ngcontent-%COMP%]{width:100%}.detail-wrap[_ngcontent-%COMP%] .detail-content[_ngcontent-%COMP%]{width:100%;display:flex;gap:10px}.detail-wrap[_ngcontent-%COMP%] .wrap-title[_ngcontent-%COMP%]{width:100%;margin-bottom:12px;font-size:18px;font-weight:700;border-bottom:1px solid #bbbbbb}.detail-wrap[_ngcontent-%COMP%] .left-column[_ngcontent-%COMP%]{width:60%;display:flex;flex-direction:column;gap:10px}.detail-wrap[_ngcontent-%COMP%] .right-column[_ngcontent-%COMP%]{width:40%;display:flex;flex-direction:column;gap:10px}"]})};var La=(i,t)=>t.id;function ka(i,t){if(i&1&&(s(0,"nz-tag",12),u(1),a()),i&2){let e=c().$implicit;r(),T(e.moduleCode)}}function Va(i,t){if(i&1){let e=M();s(0,"div",15)(1,"img",17),_("error",function(){g(e);let o=c().$implicit,l=c();return f(l.markPreviewImageError(o))})("mouseenter",function(o){g(e);let l=c().$implicit,d=c();return f(d.showPreview(o,l))})("mousemove",function(o){g(e);let l=c().$implicit,d=c();return f(d.movePreview(o,l))})("mouseleave",function(){g(e);let o=c(2);return f(o.hidePreview())}),a()()}if(i&2){let e=c().$implicit,n=c();r(),m("src",n.previewImageUrl(e),je)}}function Ra(i,t){if(i&1&&(s(0,"span",16),u(1),a()),i&2){let e=c().$implicit,n=c();m("nz-tooltip","\u534F\u4F5C\u4EBA\uFF1A"+n.participantNamesText(e)),r(),x(" \xB7 ",n.participantNamesText(e)," ")}}function ja(i,t){if(i&1){let e=M();s(0,"tr",4),_("click",function(){let o=g(e).$implicit,l=c();return f(l.selectItem.emit(o))}),s(1,"td"),u(2),a(),s(3,"td",5)(4,"div",6)(5,"div",7)(6,"div",8)(7,"p",9,0),_("mouseenter",function(){let o=g(e).$implicit,l=Q(8),d=c();return f(d.setTitleOverflow(o.id,l))})("mouseleave",function(){g(e);let o=c();return f(o.refreshTitleOverflow())}),s(9,"span",10),u(10),a(),s(11,"span"),u(12),a()(),s(13,"nz-tag",11),u(14),a(),s(15,"nz-tag",11),u(16),a(),h(17,ka,2,1,"nz-tag",12),a(),s(18,"div",13)(19,"app-ellipsis-text",14),u(20),a()()(),h(21,Va,2,1,"div",15),a()(),s(22,"td")(23,"nz-tag",11),u(24),a()(),s(25,"td"),u(26),a(),s(27,"td"),u(28),v(29,"br"),h(30,Ra,2,2,"span",16),a(),s(31,"td"),u(32),ye(33,"date"),a()()}if(i&2){let e,n=t.$implicit,o=t.$index,l=c();pe("selected",n.id===((e=l.selectedItem())==null?null:e.id)),r(2),T(o+1+l.query().pageSize*(l.query().page-1)),r(5),m("nzPopoverContent",n.title)("nzPopoverVisible",l.checkTitleOverflow(n))("nzPopoverTrigger",null),r(3),x(" [",n.issueNo,"] "),r(2),x(" ",n.title," "),r(),m("nzColor",l.getTypeColor(n.type)),r(),x(" ",l.getTypeLabel(n.type)," "),r(),m("nzColor",l.getPriorityColor(n.priority)),r(),x(" ",l.getPriorityLabel(n.priority)," "),r(),y(n.moduleCode?17:-1),r(2),m("lines",2)("enableToggle",!1),r(),x(" ",l.previewSummary(n)," "),r(),y(l.previewImageUrl(n)?21:-1),r(2),m("nzColor",l.getStatusColor(n.status)),r(),x(" ",l.getStatusLabel(n.status)," "),r(2),x(" ",n.reporterName||"-"," "),r(2),x(" ",n.assigneeName||"\u672A\u6307\u6D3E"),r(2),y(((n.participantNames==null?null:n.participantNames.length)??0)>0?30:-1),r(2),T(ve(33,23,n.updatedAt,"MM-dd HH:mm")??"_")}}function Ua(i,t){if(i&1){let e=M();s(0,"div",18)(1,"img",19),_("error",function(){g(e);let o=c();return f(o.onImageError(o.hoveredPreview().src))}),a()()}if(i&2){let e=c();Ue("left",e.hoveredPreview().left,"px")("top",e.hoveredPreview().top,"px"),r(),m("src",e.hoveredPreview().src,je)("alt",e.hoveredPreview().alt)}}var _n=class i{issues=p.required();selectedItem=p();projectId=p(null);selectItem=D();loading=p(!1);query=p.required();columns=[{title:"\u5E8F\u53F7",width:66},{title:"\u6807\u9898",width:"",nzEllipsis:!0},{title:"\u72B6\u6001",width:100},{title:"\u63D0\u62A5\u4EBA",width:100},{title:"\u8D1F\u8D23\u4EBA",width:120,nzEllipsis:!0},{title:"\u66F4\u65B0\u65F6\u95F4",width:140}];hoveredPreview=b(null);imageErrorSet=b(new Set);previewMap=C(()=>{let t=new Map;for(let e of this.issues())t.set(e.id,Xi(e.description,this.projectId(),e.id,"issues"));return t});titleOverflowPreview=b(null);getStatusLabel(t){return Vt[t]}getStatusColor(t){return Rt[t]}getPriorityColor(t){return qt[t]}getPriorityLabel(t){return jt[t]}getTypeLabel(t){return nn[t]}getTypeColor(t){return on[t]}participantNamesText(t){let e=(t.participantNames??[]).filter(Boolean);return e.length===0?"":e.join("\u3001")}previewSummary(t){return this.previewMap().get(t.id)?.summary||"\u6682\u65E0\u8BE6\u7EC6\u63CF\u8FF0"}previewImageUrl(t){return this.imageErrorSet().has(t.id)?null:this.previewMap().get(t.id)?.imageUrl??null}markPreviewImageError(t){this.imageErrorSet.update(e=>new Set([...e,t.id]))}showPreview(t,e){let n=this.previewMap().get(e.id);if(!n?.imageUrl){this.hoveredPreview.set(null);return}if(this.imageErrorSet().has(n.imageUrl)){this.hoveredPreview.set(null);return}let o=this.calcPosition(t);this.hoveredPreview.set(X({src:n.imageUrl,alt:n.imageAlt||e.title},o))}onImageError(t){let e=new Set(this.imageErrorSet());e.add(t),this.imageErrorSet.set(e),this.hoveredPreview.set(null)}movePreview(t,e){this.hoveredPreview()&&this.showPreview(t,e)}hidePreview(){this.hoveredPreview.set(null)}checkTitleOverflow(t){return this.titleOverflowPreview()?.issueId===t.id&&this.titleOverflowPreview()?.overflowing}setTitleOverflow(t,e){let n=e.scrollWidth>e.clientWidth;this.titleOverflowPreview.set({issueId:t,overflowing:n})}refreshTitleOverflow(){this.titleOverflowPreview.set(null)}calcPosition(t){let l=t.clientX+16,d=t.clientY+16;return l+320>window.innerWidth&&(l=t.clientX-320-16),d+200>window.innerHeight&&(d=window.innerHeight-200-12),{left:l,top:d}}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issues-list-table"]],inputs:{issues:[1,"issues"],selectedItem:[1,"selectedItem"],projectId:[1,"projectId"],loading:[1,"loading"],query:[1,"query"]},outputs:{selectItem:"selectItem"},decls:4,vars:4,consts:[["titleEl",""],[3,"columns","loading","data"],[3,"selected"],[1,"preview-float",3,"left","top"],[3,"click"],[1,"title-td-container"],[1,"title-container"],[1,"issue-item-text"],[1,"title-wrap"],["nz-popover","","nzPopoverOverlayClassName","issue-tooltip-popover",1,"issue-title",3,"mouseenter","mouseleave","nzPopoverContent","nzPopoverVisible","nzPopoverTrigger"],[1,"issue-no"],[3,"nzColor"],["nzColor","default"],[1,"des"],[3,"lines","enableToggle"],[1,"issue-item-img"],[1,"participant-inline",3,"nz-tooltip"],[3,"error","mouseenter","mousemove","mouseleave","src","alt"],[1,"preview-float"],[3,"error","src","alt"]],template:function(e,n){e&1&&(s(0,"app-scrollable-table-list",1),w(1,ja,34,26,"tr",2,La),a(),h(3,Ua,2,6,"div",3)),e&2&&(m("columns",n.columns)("loading",n.loading())("data",n.issues()),r(),N(n.issues()),r(2),y(n.hoveredPreview()?3:-1))},dependencies:[Fi,Ai,Oi,Ge,Ye,Bi,Mi,Si,He,Qe,et,eo,H,De],styles:[".title-container[_ngcontent-%COMP%]{display:flex;overflow:hidden;min-width:0}.title-container[_ngcontent-%COMP%] .issue-item-text[_ngcontent-%COMP%]{overflow:hidden;min-width:0}.title-container[_ngcontent-%COMP%] .issue-item-text[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%]{overflow:hidden;display:flex;align-items:center;gap:8px;min-width:0}.title-container[_ngcontent-%COMP%] .issue-item-text[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] .issue-title[_ngcontent-%COMP%]{margin-bottom:0;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;max-width:100%}.title-container[_ngcontent-%COMP%] .issue-item-text[_ngcontent-%COMP%] .title-wrap[_ngcontent-%COMP%] .issue-title[_ngcontent-%COMP%] .issue-no[_ngcontent-%COMP%]{color:#1890ff}.title-container[_ngcontent-%COMP%] .issue-item-text[_ngcontent-%COMP%] .des[_ngcontent-%COMP%]{font-size:12px;color:#999;margin-top:2px}.title-container[_ngcontent-%COMP%] .issue-item-img[_ngcontent-%COMP%]{flex-shrink:0;margin-left:auto;width:60px;height:60px;overflow:hidden;border-radius:8px;border:1px solid #f0f0f0}.title-container[_ngcontent-%COMP%] .issue-item-img[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;object-position:center}.participant-inline[_ngcontent-%COMP%]{font-size:12px;color:gray;font-weight:400;max-width:100%;display:inline-block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-float[_ngcontent-%COMP%]{padding:6px;position:fixed;z-index:1000;pointer-events:none;width:320px;height:200px;display:flex;align-items:center;justify-content:center;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 4px 16px #0003}.preview-float[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:100%;max-height:100%;object-fit:contain} .issue-tooltip-popover .ant-popover-inner{background-color:#000000b3;color:#fff} .issue-tooltip-popover .ant-popover-inner-content{color:#fff;font-size:1rem;padding:8px 6px} .issue-tooltip-popover .ant-popover-arrow-content{background-color:#000c}"]})};var qa={page:1,pageSize:20,keyword:"",projectId:"",status:[],types:[],priority:[],reporterIds:[],assigneeIds:[],moduleCodes:[],versionCodes:[],environmentCodes:[],includeAssigneeParticipants:!0,sortBy:"createdAt",sortOrder:"desc"},dt=class i{issueApi=z(ot);projectContext=z(Ne);userStore=z(Ee);queryState=b(X({},qa));resultState=b(null);loadingState=b(!1);query=C(()=>this.queryState());result=C(()=>this.resultState());items=C(()=>this.resultState()?.items??[]);loading=C(()=>this.loadingState());total=C(()=>this.resultState()?.total??20);page=C(()=>this.queryState().page??1);pageSize=C(()=>this.queryState().pageSize??20);currentProjectId=this.projectContext.currentProjectId;initialize(){this.userStore.ensureUserLoaded(),this.load()}refreshForProject(t){if(this.queryState.update(e=>vn(X({},e),{projectId:this.currentProjectId()??"",page:1})),!t){this.resultState.set({items:[],page:1,pageSize:$a(this.queryState()),total:0}),this.loadingState.set(!1);return}this.loadingState.set(!0),this.resultState.set(null),this.load()}updateQuery(t){this.queryState.update(e=>vn(X(X({},e),t),{page:t.page??e.page??1}))}async load(){let t=this.currentProjectId();if(!t)return;let e=this.queryState();this.loadingState.set(!0);try{let n=await this.issueApi.getIssuesList(t,e);this.resultState.set(n),this.loadingState.set(!1)}catch{this.loadingState.set(!1)}}async createIssue(t,e){let n=this.currentProjectId()??"",o=t.title.trim();if(!n||!o)return;let l=e??[],d=t.assigneeId??null,st=[...new Set((t.participantIds??[]).map(Ie=>Ie.trim()).filter(Boolean))].filter(Ie=>Ie!==d);this.loadingState.set(!0),this.load(),this.loadingState.set(!1)}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ce({token:i,factory:i.\u0275fac})};function $a(i){return i.pageSize&&i.pageSize>0?i.pageSize:20}var bo=(i,t)=>t.value;function Wa(i,t){if(i&1){let e=M();s(0,"button",15),_("click",function(){let o=g(e).$implicit,l=c();return f(l.updateStatusSelectedOpts(o.value))}),u(1),a()}if(i&2){let e=t.$implicit,n=c();m("nzType",n.statusBtnTypeByType(e.value)),r(),x(" ",e.label," ")}}function Qa(i,t){if(i&1){let e=M();s(0,"button",16),_("click",function(){let o=g(e).$implicit,l=c();return f(l.updatePrioritySelectedOpts(o.value))}),u(1),a()}if(i&2){let e=t.$implicit,n=c();m("nzType",n.priorityBtnTypeByType(e.value)),r(),x(" ",e.label," ")}}var Cn=class i{userStore=z(Ee);query=p.required();queryChange=D();statusOptions=Je;priorityOptions=Ut;viewType=b("list");todoChecked=C(()=>{let t=["open","in_progress","reopened"];return t.every(e=>this.query().status.includes(e))&&this.query().status.length===t.length});mineChecked=C(()=>this.query().assigneeIds.includes(this.userStore.currentUserId())&&this.query().assigneeIds.length===1);updateKeyword(t){this.queryChange.emit({keyword:t})}updatePrioritySelectedOpts(t){let e=this.query().priority;if(t===""){this.queryChange.emit({priority:[]});return}e.includes(t)?this.queryChange.emit({priority:e.filter(n=>n!==t)}):this.queryChange.emit({priority:[...e,t]})}updateStatusSelectedOpts(t){let e=this.query().status;if(t===""){this.queryChange.emit({status:[]});return}e.includes(t)?this.queryChange.emit({status:e.filter(n=>n!==t)}):this.queryChange.emit({status:[...e,t]})}statusBtnTypeByType(t){return t===""&&this.query().status.length===0||t!==""&&this.query().status.includes(t)?"primary":"default"}priorityBtnTypeByType(t){return t===""&&this.query().priority.length===0||t!==""&&this.query().priority.includes(t)?"primary":"default"}todoCheckedChanged(t){t?this.queryChange.emit({status:["open","in_progress","reopened"]}):this.queryChange.emit({status:[]})}mineCheckedChanged(t){t?this.queryChange.emit({assigneeIds:[this.userStore.currentUserId(),"__unassigned__"]}):this.queryChange.emit({assigneeIds:[]})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issue-filter-bar"]],inputs:{query:[1,"query"]},outputs:{queryChange:"queryChange"},decls:23,vars:4,consts:[[1,"toolbar"],[1,"filter-group"],[1,"keyword-wrap"],["nzInputPrefix","","nzType","search","nzTheme","outline"],["nz-input","","type","text","placeholder","\u641C\u7D22\u6807\u9898\u3001\u7F16\u53F7\u6216\u63D0\u62A5\u4EBA",3,"ngModelChange","ngModel"],[1,"status-filter-wrap"],[1,"label"],["nzType","tags","nzTheme","fill"],["nz-button","","type","button","nzShape","round",3,"nzType"],[1,"priority-filter-wrap"],["nzType","experiment","nzTheme","fill"],["nz-button","","type","button",3,"nzType"],[1,"right-col"],["nz-checkbox","",3,"ngModelChange","ngModel"],["nz-checkbox","",3,"ngModelChange","ngModel","disabled"],["nz-button","","type","button","nzShape","round",3,"click","nzType"],["nz-button","","type","button",3,"click","nzType"]],template:function(e,n){e&1&&(s(0,"div",0)(1,"div",1)(2,"div",2)(3,"nz-input-wrapper"),v(4,"nz-icon",3),s(5,"input",4),_("ngModelChange",function(l){return n.updateKeyword(l)}),a()()(),s(6,"div",5)(7,"span",6),v(8,"nz-icon",7),u(9," \u72B6\u6001\uFF1A "),a(),w(10,Wa,2,2,"button",8,bo),a(),s(12,"div",9)(13,"span",6),v(14,"nz-icon",10),u(15," \u4F18\u5148\u7EA7\uFF1A "),a(),w(16,Qa,2,2,"button",11,bo),a()(),s(18,"div",12)(19,"label",13),_("ngModelChange",function(l){return n.todoCheckedChanged(l)}),u(20,"\u4EC5\u770B\u5F85\u89E3\u51B3"),a(),s(21,"label",14),_("ngModelChange",function(l){return n.mineCheckedChanged(l)}),u(22,"\u4EC5\u770B\u6211\u8D1F\u8D23"),a()()()),e&2&&(r(5),m("ngModel",n.query().keyword),r(5),N(n.statusOptions),r(6),N(n.priorityOptions),r(3),m("ngModel",n.todoChecked()),r(2),m("ngModel",n.mineChecked())("disabled",!n.userStore.currentUserId()))},dependencies:[Y,le,Ii,bi,A,ee,L,J,K,Z,Ft,Ni,wi,B,ae,U,q],styles:[".toolbar[_ngcontent-%COMP%]{border:1px solid #f0f0f0;border-radius:8px;display:flex;justify-content:space-between;padding:16px}.toolbar[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%]{width:80%;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.toolbar[_ngcontent-%COMP%] .filter-group[_ngcontent-%COMP%] .keyword-wrap[_ngcontent-%COMP%]{width:100%}.toolbar[_ngcontent-%COMP%] .status-filter-wrap[_ngcontent-%COMP%]{min-width:0;display:flex;flex-wrap:wrap;gap:10px}.toolbar[_ngcontent-%COMP%] .right-col[_ngcontent-%COMP%]{height:100%;margin-top:auto;display:flex;flex-direction:column;align-items:end;justify-content:end}.toolbar[_ngcontent-%COMP%] .right-col[_ngcontent-%COMP%] .view-type[_ngcontent-%COMP%]{display:flex;justify-content:end}"]})};function Ha(i,t){if(i&1){let e=M();s(0,"app-issues-list-table",10),_("selectItem",function(o){g(e);let l=c();return f(l.selectIssue(o))}),a()}if(i&2){let e=c();m("issues",e.issues())("query",e.query())("selectedItem",e.selectedIssue())("projectId",e.currentProjectId())("loading",e.loading())}}function Ka(i,t){}function Ya(i,t){if(i&1&&u(0),i&2){let e=t.$implicit;x("\u5171 ",e," \u6761\u8BB0\u5F55")}}var hn=class i{issueListStore=z(dt);issueDetailStore=z(Ve);projectContextStore=z(Ne);router=z(ti);route=z(ei);modal=z(We);statusOptions=Je;priorityOptions=Ut;viewType=b("list");loading=this.issueListStore.loading;issues=this.issueListStore.items;total=this.issueListStore.total;query=this.issueListStore.query;selectedIssue=this.issueDetailStore.issue;currentProjectId=this.projectContextStore.currentProjectId;issueDetailLoading=this.issueDetailStore.loading;open=b(!1);currentPriority=b("");constructor(){let t=this.projectContextStore.currentProjectId();this.issueListStore.initialize(),t&&this.projectContextStore.loadProjectMembers(t),this.route.queryParamMap.subscribe(o=>{let l=o.get("detail");l&&(this.selectedIssue()?.id===l||this.issueDetailLoading()||l&&!this.selectedIssue()&&(this.issueDetailStore.load(l),this.open.set(!0)))});let e,n=this.issueListStore.query();R(()=>{let o=this.issueListStore.query(),l=n&&(n.page!==o.page||n.pageSize!==o.pageSize);if(n=X({},o),l){clearTimeout(e),this.issueListStore.load();return}clearTimeout(e),e=setTimeout(()=>{this.issueListStore.load()},500)})}onPageChange(t){this.issueListStore.updateQuery({page:t})}onPageSizeChange(t){this.issueListStore.updateQuery({pageSize:t})}selectIssue(t){this.openDetail(t),this.issueDetailStore.load(t.id),this.open.set(!0)}closeIssueDetail(){this.open.set(!1),this.issueDetailStore.setSelectedIssue(null),this.router.navigate([],{queryParams:{}})}openDetail(t){this.router.navigate([],{relativeTo:this.route,queryParams:{detail:t.id},queryParamsHandling:"merge"})}updateQuery(t){this.issueListStore.updateQuery(t)}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=I({type:i,selectors:[["app-issues"]],features:[It([dt,Ve])],decls:12,vars:11,consts:[["totalTemplate",""],[3,"title","loading","isFullscreen","isOverflowYAuto"],[1,"issues-content"],[1,"filter-container"],[3,"queryChange","query"],[1,"list-container"],[3,"issues","query","selectedItem","projectId","loading"],[1,"pagination-bar"],["nzShowSizeChanger","","nzShowQuickJumper","",3,"nzPageIndexChange","nzPageSizeChange","nzPageIndex","nzTotal","nzShowTotal","nzPageSize"],[3,"close","open"],[3,"selectItem","issues","query","selectedItem","projectId","loading"]],template:function(e,n){if(e&1){let o=M();s(0,"app-page-layout",1)(1,"div",2)(2,"div",3)(3,"app-issue-filter-bar",4),_("queryChange",function(d){return g(o),f(n.updateQuery(d))}),a()(),s(4,"div",5),h(5,Ha,1,5,"app-issues-list-table",6)(6,Ka,0,0),a(),s(7,"div",7)(8,"nz-pagination",8),bt("nzPageIndexChange",function(d){return g(o),zt(n.query().page,d)||(n.query().page=d),f(d)}),_("nzPageIndexChange",function(d){return g(o),f(n.onPageChange(d))})("nzPageSizeChange",function(d){return g(o),f(n.onPageSizeChange(d))}),a(),S(9,Ya,1,1,"ng-template",null,0,G),a()(),s(11,"app-issue-detail",9),_("close",function(){return g(o),f(n.closeIssueDetail())}),a()()}if(e&2){let o=Q(10);m("title","\u6D4B\u8BD5\u8DDF\u8E2A")("loading",n.loading())("isFullscreen",!0)("isOverflowYAuto",!1),r(3),m("query",n.query()),r(2),y(n.viewType()==="list"?5:6),r(3),vt("nzPageIndex",n.query().page),m("nzTotal",n.total())("nzShowTotal",o)("nzPageSize",n.query().pageSize),r(3),m("open",n.open())}},dependencies:[xi,B,Y,A,Ft,K,Pi,Ei,j,_n,Cn,fn],styles:[".issues-content[_ngcontent-%COMP%]{width:100%;padding:16px 48px 0;min-width:630px;height:100%;display:flex;flex-direction:column;align-items:center;gap:8px;overflow:auto}.issues-content[_ngcontent-%COMP%] .filter-container[_ngcontent-%COMP%]{width:100%}.issues-content[_ngcontent-%COMP%] .list-container[_ngcontent-%COMP%]{width:100%;min-height:0;flex-grow:1}.issues-content[_ngcontent-%COMP%] .pagination-bar[_ngcontent-%COMP%]{width:100%;padding:12px;display:flex;justify-content:end}"]})};var Ga=[{path:"",component:hn}],yn=class i{static \u0275fac=function(e){return new(e||i)};static \u0275mod=ue({type:i});static \u0275inj=me({imports:[H,Dn.forChild(Ga),Dn]})};var Io=class i{static \u0275fac=function(e){return new(e||i)};static \u0275mod=ue({type:i});static \u0275inj=me({imports:[H,yn]})};export{Io as IssuesModule};
|