@yinuo-ngm/server 1.0.16 → 1.0.17

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.
Files changed (118) hide show
  1. package/lib/app.js +3 -15
  2. package/lib/common/editor.js +2 -2
  3. package/lib/env.d.ts +1 -0
  4. package/lib/env.js +1 -0
  5. package/lib/plugins/error-handler.plugin.d.ts +2 -2
  6. package/lib/plugins/error-handler.plugin.js +97 -93
  7. package/lib/plugins/ws/topics/nginx.ws.js +2 -1
  8. package/lib/plugins/ws/topics/svn.ws.d.ts +2 -1
  9. package/lib/plugins/ws/topics/svn.ws.js +3 -2
  10. package/lib/plugins/ws/topics/syslog.ws.d.ts +1 -1
  11. package/lib/plugins/ws/topics/task.ws.d.ts +2 -1
  12. package/lib/plugins/ws/topics/task.ws.js +2 -1
  13. package/lib/plugins/ws/ws.context.d.ts +1 -1
  14. package/lib/plugins/ws/ws.plugin.js +4 -3
  15. package/lib/plugins/ws/ws.router.d.ts +2 -2
  16. package/lib/plugins/ws/ws.router.js +8 -7
  17. package/lib/routes/api-client/collection.routes.js +8 -6
  18. package/lib/routes/api-client/env.routes.js +4 -3
  19. package/lib/routes/api-client/history.routes.js +3 -2
  20. package/lib/routes/api-client/hub-token.routes.js +11 -11
  21. package/lib/routes/api-client/request.routes.js +7 -6
  22. package/lib/routes/api-client/send.routes.js +3 -2
  23. package/lib/routes/config.routes.js +5 -5
  24. package/lib/routes/hub.routes.js +10 -10
  25. package/lib/routes/nginx/nginx-lifecycle.routes.js +4 -0
  26. package/lib/routes/nginx/nginx-route.context.js +23 -7
  27. package/lib/routes/nginx/nginx-server.routes.js +158 -6
  28. package/lib/routes/node-version.routes.js +7 -7
  29. package/lib/routes/project.routes.js +9 -9
  30. package/lib/routes/rss.routes.js +3 -3
  31. package/lib/routes/sprite-browse.routes.js +2 -1
  32. package/lib/routes/sprite.routes.js +3 -3
  33. package/lib/routes/static-files.routes.js +7 -7
  34. package/lib/routes/svn.routes.js +5 -3
  35. package/lib/routes/system.routes.js +20 -1
  36. package/lib/routes/task.routes.js +4 -4
  37. package/package.json +13 -6
  38. package/www/3rdpartylicenses.txt +52 -52
  39. package/www/browser/chunk-2L7NUOMX.js +2 -0
  40. package/www/browser/chunk-2NZJ7CN2.js +20 -0
  41. package/www/browser/{chunk-SPRWNZHF.js → chunk-3CM4SKDO.js} +2 -2
  42. package/www/browser/{chunk-EEVPZGEY.js → chunk-3I7BQCXS.js} +1 -1
  43. package/www/browser/{chunk-DXF7BVK5.js → chunk-3M56F2S2.js} +1 -1
  44. package/www/browser/chunk-3OHBKMAA.js +1 -0
  45. package/www/browser/{chunk-4KETC6EB.js → chunk-3XNNQFWR.js} +1 -1
  46. package/www/browser/chunk-4BRW6LCZ.js +4 -0
  47. package/www/browser/{chunk-HGONFYP6.js → chunk-4LBSLURA.js} +1 -1
  48. package/www/browser/{chunk-BYEU6KGP.js → chunk-4X42HB6N.js} +1 -1
  49. package/www/browser/chunk-5DYX4DUX.js +11 -0
  50. package/www/browser/chunk-6SYVDN5L.js +1 -0
  51. package/www/browser/{chunk-XJ5KZQNN.js → chunk-6YYNHZ2A.js} +1 -1
  52. package/www/browser/{chunk-G2W3B7TJ.js → chunk-75W3GVSO.js} +1 -1
  53. package/www/browser/{chunk-76TVIB33.js → chunk-7U44RF5F.js} +1 -1
  54. package/www/browser/{chunk-WD4IAQR3.js → chunk-AELTP6YN.js} +1 -1
  55. package/www/browser/chunk-AMXRL4GR.js +1 -0
  56. package/www/browser/chunk-AV2ZODEH.js +1 -0
  57. package/www/browser/chunk-AZ6SIMYH.js +1 -0
  58. package/www/browser/chunk-B3C35ET3.js +2 -0
  59. package/www/browser/chunk-BTQIUVTQ.js +1 -0
  60. package/www/browser/chunk-CN5J4WNO.js +1 -0
  61. package/www/browser/{chunk-N4LRZJBP.js → chunk-D2ODDESN.js} +1 -1
  62. package/www/browser/{chunk-O2EYEF7J.js → chunk-DE6E23ET.js} +1 -1
  63. package/www/browser/{chunk-SVQWPHF5.js → chunk-DIJPUYIA.js} +1 -1
  64. package/www/browser/{chunk-SYCNSLAW.js → chunk-DLGJD6YU.js} +4 -4
  65. package/www/browser/{chunk-JHMEKUZ5.js → chunk-EEDA5U4V.js} +1 -1
  66. package/www/browser/chunk-FK6Z4HLL.js +1 -0
  67. package/www/browser/chunk-FL6GDGHW.js +1 -0
  68. package/www/browser/{chunk-HRXCR3IN.js → chunk-FXCG34QS.js} +1 -1
  69. package/www/browser/{chunk-UJOHBN2Y.js → chunk-H2USFIYR.js} +1 -1
  70. package/www/browser/chunk-H5HGMOE6.js +1 -0
  71. package/www/browser/chunk-HB3HECPD.js +1 -0
  72. package/www/browser/{chunk-INL2PELS.js → chunk-HDNG236Q.js} +1 -1
  73. package/www/browser/{chunk-WF2QTF5L.js → chunk-HJTXXSMC.js} +1 -1
  74. package/www/browser/{chunk-LQ5OXSW7.js → chunk-HUMCWAKJ.js} +1 -1
  75. package/www/browser/chunk-IKB3EQCP.js +2 -0
  76. package/www/browser/{chunk-TMX5TTV3.js → chunk-K7PESFPY.js} +1 -1
  77. package/www/browser/{chunk-T3KK7ZXB.js → chunk-KRYMOHYF.js} +1 -1
  78. package/www/browser/{chunk-SQQNR223.js → chunk-M4QRBV3K.js} +1 -1
  79. package/www/browser/chunk-N2PELLMM.js +30 -0
  80. package/www/browser/{chunk-ACAZUX6C.js → chunk-ONXBYGIG.js} +1 -1
  81. package/www/browser/{chunk-JZULA5JV.js → chunk-OSBDR36P.js} +1 -1
  82. package/www/browser/chunk-OZCK4XVV.js +1 -0
  83. package/www/browser/{chunk-GDWS2L66.js → chunk-QJP5F735.js} +1 -1
  84. package/www/browser/{chunk-2X3MRS27.js → chunk-RGOYDY7H.js} +1 -1
  85. package/www/browser/{chunk-B6MBYCXI.js → chunk-UJKK4A7Y.js} +1 -1
  86. package/www/browser/{chunk-ZNTJRLVH.js → chunk-WD2EKZQC.js} +1 -1
  87. package/www/browser/{chunk-L5D75AMV.js → chunk-WUA5JFDD.js} +1 -1
  88. package/www/browser/chunk-XLFHB7RS.js +3 -0
  89. package/www/browser/{chunk-JU3TEDBV.js → chunk-YNW4HEJO.js} +1 -1
  90. package/www/browser/{chunk-RW2JPJV7.js → chunk-ZTDLWBW5.js} +1 -1
  91. package/www/browser/index.html +1 -1
  92. package/www/browser/main-N64WJCHX.js +34 -0
  93. package/www/browser/chunk-2BZRE4G7.js +0 -1
  94. package/www/browser/chunk-5T5KA5PG.js +0 -1
  95. package/www/browser/chunk-6CGHNKJI.js +0 -1
  96. package/www/browser/chunk-7J24TP36.js +0 -1
  97. package/www/browser/chunk-CZ5AZ3VW.js +0 -1
  98. package/www/browser/chunk-DW7F5PEA.js +0 -1
  99. package/www/browser/chunk-HHBPULJW.js +0 -2
  100. package/www/browser/chunk-KVFR7GFV.js +0 -20
  101. package/www/browser/chunk-L7TMCSHV.js +0 -1
  102. package/www/browser/chunk-MVQTKINJ.js +0 -1
  103. package/www/browser/chunk-OMDHJIUB.js +0 -1
  104. package/www/browser/chunk-OWUAAOHW.js +0 -2
  105. package/www/browser/chunk-PIK5YPIB.js +0 -1
  106. package/www/browser/chunk-RHLQRQDK.js +0 -9
  107. package/www/browser/chunk-S3SJ4VVM.js +0 -11
  108. package/www/browser/chunk-SIVPP74B.js +0 -0
  109. package/www/browser/chunk-UFY3FLDK.js +0 -1
  110. package/www/browser/chunk-UQGCUFNM.js +0 -1
  111. package/www/browser/chunk-UXXWRMM6.js +0 -1
  112. package/www/browser/chunk-UZRJGJTD.js +0 -2
  113. package/www/browser/chunk-WI67LAOV.js +0 -4
  114. package/www/browser/chunk-WNCM6QKB.js +0 -1
  115. package/www/browser/chunk-YETDFSQE.js +0 -1
  116. package/www/browser/chunk-YMTC5GZK.js +0 -1
  117. package/www/browser/chunk-YVZHJ76K.js +0 -1
  118. package/www/browser/main-6LN5C22E.js +0 -34
@@ -0,0 +1,2 @@
1
+ import{b as Dn}from"./chunk-6YYNHZ2A.js";import{a as Tn,c as _t,d as yt}from"./chunk-DE6E23ET.js";import{b as In}from"./chunk-ONXBYGIG.js";import{b as _n}from"./chunk-HDNG236Q.js";import{c as Fn,d as Pn,e as Nn}from"./chunk-HUMCWAKJ.js";import{a as Mn,b as wn,c as En,d as zn}from"./chunk-4LBSLURA.js";import{a as gt,b as ht,c as Ct,d as vt,e as St}from"./chunk-DIJPUYIA.js";import{b as ft}from"./chunk-QJP5F735.js";import{c as rt}from"./chunk-WD2EKZQC.js";import{a as je,b as dt}from"./chunk-UJKK4A7Y.js";import{a as yn,b as ut}from"./chunk-OZCK4XVV.js";import{a as xn,b as mt}from"./chunk-AELTP6YN.js";import{a as bn,b as Se}from"./chunk-HJTXXSMC.js";import"./chunk-FXCG34QS.js";import{a as De,b as fe}from"./chunk-RGOYDY7H.js";import{a as he,c as Ce,d as vn,e as Sn,f as ve}from"./chunk-3XNNQFWR.js";import{a as Vt,b as Ie,c as Te,d as ke,e as mn,g as dn}from"./chunk-YNW4HEJO.js";import{a as lt,b as ct}from"./chunk-K7PESFPY.js";import{e as pn,f as ln,g as ot,l as cn}from"./chunk-4X42HB6N.js";import{a as hn}from"./chunk-AV2ZODEH.js";import{d as Be,e as fn,k as gn,m as Cn}from"./chunk-2NZJ7CN2.js";import{Fb as Oe,Ga as me,Ha as U,Hb as ie,Ib as at,Kb as st,Lb as oe,Mb as pt,Na as sn,Oa as nt,Pa as de,Qa as it,Sa as Ne,Sb as un,Ta as H,Vb as Y,ac as ge,dc as Z,gc as Ae,ic as re}from"./chunk-3CM4SKDO.js";import"./chunk-HFZLJHYR.js";import{h as $t}from"./chunk-WUA5JFDD.js";import{h as an,n as N,u as tt}from"./chunk-KRYMOHYF.js";import{$b as pe,Ac as Ze,Ec as Bt,Fb as O,Fc as ne,Gb as Qe,Gc as we,Ha as F,Jc as c,Kc as k,Lb as Pe,Lc as te,Oa as qe,Oc as B,Pc as j,Qc as $,Uc as on,V as Zt,Wb as I,Yb as T,Yc as et,a as q,ac as le,b as ee,bc as y,cc as r,d as Hn,dc as a,dd as jt,e as Yn,ec as g,g as Ge,ic as tn,id as W,jc as nn,l as ze,lc as A,m as Xt,na as Fe,nb as p,oa as Ke,od as Le,ra as en,rc as P,sa as z,sd as rn,uc as v,ya as x,yc as Je,z as se,za as b,zc as Xe}from"./chunk-4BRW6LCZ.js";var $n=Hn((Yt,Gt)=>{"use strict";(function(i,t){typeof Yt=="object"&&typeof Gt<"u"?Gt.exports=t():typeof define=="function"&&define.amd?define(t):(i=typeof globalThis<"u"?globalThis:i||self).dayjs=t()})(Yt,function(){"use strict";var i=1e3,t=6e4,e=36e5,n="millisecond",o="second",s="minute",l="hour",h="day",G="week",w="month",ye="quarter",J="year",ae="date",qt="Invalid Date",Rn=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,Wn=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,Ln={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(C){var d=["th","st","nd","rd"],u=C%100;return"["+C+(d[(u-20)%10]||d[u]||d[0])+"]"}},Ot=function(C,d,u){var f=String(C);return!f||f.length>=d?C:""+Array(d+1-f.length).join(u)+C},Un={s:Ot,z:function(C){var d=-C.utcOffset(),u=Math.abs(d),f=Math.floor(u/60),m=u%60;return(d<=0?"+":"-")+Ot(f,2,"0")+":"+Ot(m,2,"0")},m:function C(d,u){if(d.date()<u.date())return-C(u,d);var f=12*(u.year()-d.year())+(u.month()-d.month()),m=d.clone().add(f,w),S=u-m<0,_=d.clone().add(f+(S?-1:1),w);return+(-(f+(u-m)/(S?m-_:_-m))||0)},a:function(C){return C<0?Math.ceil(C)||0:Math.floor(C)},p:function(C){return{M:w,y:J,w:G,d:h,D:ae,h:l,m:s,s:o,ms:n,Q:ye}[C]||String(C||"").toLowerCase().replace(/s$/,"")},u:function(C){return C===void 0}},Ve="en",xe={};xe[Ve]=Ln;var Qt="$isDayjsObject",At=function(C){return C instanceof He||!(!C||!C[Qt])},Ue=function C(d,u,f){var m;if(!d)return Ve;if(typeof d=="string"){var S=d.toLowerCase();xe[S]&&(m=S),u&&(xe[S]=u,m=S);var _=d.split("-");if(!m&&_.length>1)return C(_[0])}else{var E=d.name;xe[E]=d,m=E}return!f&&m&&(Ve=m),m||!f&&Ve},V=function(C,d){if(At(C))return C.clone();var u=typeof d=="object"?d:{};return u.date=C,u.args=arguments,new He(u)},M=Un;M.l=Ue,M.i=At,M.w=function(C,d){return V(C,{locale:d.$L,utc:d.$u,x:d.$x,$offset:d.$offset})};var He=(function(){function C(u){this.$L=Ue(u.locale,null,!0),this.parse(u),this.$x=this.$x||u.x||{},this[Qt]=!0}var d=C.prototype;return d.parse=function(u){this.$d=(function(f){var m=f.date,S=f.utc;if(m===null)return new Date(NaN);if(M.u(m))return new Date;if(m instanceof Date)return new Date(m);if(typeof m=="string"&&!/Z$/i.test(m)){var _=m.match(Rn);if(_){var E=_[2]-1||0,D=(_[7]||"0").substring(0,3);return S?new Date(Date.UTC(_[1],E,_[3]||1,_[4]||0,_[5]||0,_[6]||0,D)):new Date(_[1],E,_[3]||1,_[4]||0,_[5]||0,_[6]||0,D)}}return new Date(m)})(u),this.init()},d.init=function(){var u=this.$d;this.$y=u.getFullYear(),this.$M=u.getMonth(),this.$D=u.getDate(),this.$W=u.getDay(),this.$H=u.getHours(),this.$m=u.getMinutes(),this.$s=u.getSeconds(),this.$ms=u.getMilliseconds()},d.$utils=function(){return M},d.isValid=function(){return this.$d.toString()!==qt},d.isSame=function(u,f){var m=V(u);return this.startOf(f)<=m&&m<=this.endOf(f)},d.isAfter=function(u,f){return V(u)<this.startOf(f)},d.isBefore=function(u,f){return this.endOf(f)<V(u)},d.$g=function(u,f,m){return M.u(u)?this[f]:this.set(m,u)},d.unix=function(){return Math.floor(this.valueOf()/1e3)},d.valueOf=function(){return this.$d.getTime()},d.startOf=function(u,f){var m=this,S=!!M.u(f)||f,_=M.p(u),E=function(Me,K){var ue=M.w(m.$u?Date.UTC(m.$y,K,Me):new Date(m.$y,K,Me),m);return S?ue:ue.endOf(h)},D=function(Me,K){return M.w(m.toDate()[Me].apply(m.toDate("s"),(S?[0,0,0,0]:[23,59,59,999]).slice(K)),m)},R=this.$W,L=this.$M,X=this.$D,Ee="set"+(this.$u?"UTC":"");switch(_){case J:return S?E(1,0):E(31,11);case w:return S?E(1,L):E(0,L+1);case G:var be=this.$locale().weekStart||0,Re=(R<be?R+7:R)-be;return E(S?X-Re:X+(6-Re),L);case h:case ae:return D(Ee+"Hours",0);case l:return D(Ee+"Minutes",1);case s:return D(Ee+"Seconds",2);case o:return D(Ee+"Milliseconds",3);default:return this.clone()}},d.endOf=function(u){return this.startOf(u,!1)},d.$set=function(u,f){var m,S=M.p(u),_="set"+(this.$u?"UTC":""),E=(m={},m[h]=_+"Date",m[ae]=_+"Date",m[w]=_+"Month",m[J]=_+"FullYear",m[l]=_+"Hours",m[s]=_+"Minutes",m[o]=_+"Seconds",m[n]=_+"Milliseconds",m)[S],D=S===h?this.$D+(f-this.$W):f;if(S===w||S===J){var R=this.clone().set(ae,1);R.$d[E](D),R.init(),this.$d=R.set(ae,Math.min(this.$D,R.daysInMonth())).$d}else E&&this.$d[E](D);return this.init(),this},d.set=function(u,f){return this.clone().$set(u,f)},d.get=function(u){return this[M.p(u)]()},d.add=function(u,f){var m,S=this;u=Number(u);var _=M.p(f),E=function(L){var X=V(S);return M.w(X.date(X.date()+Math.round(L*u)),S)};if(_===w)return this.set(w,this.$M+u);if(_===J)return this.set(J,this.$y+u);if(_===h)return E(1);if(_===G)return E(7);var D=(m={},m[s]=t,m[l]=e,m[o]=i,m)[_]||1,R=this.$d.getTime()+u*D;return M.w(R,this)},d.subtract=function(u,f){return this.add(-1*u,f)},d.format=function(u){var f=this,m=this.$locale();if(!this.isValid())return m.invalidDate||qt;var S=u||"YYYY-MM-DDTHH:mm:ssZ",_=M.z(this),E=this.$H,D=this.$m,R=this.$M,L=m.weekdays,X=m.months,Ee=m.meridiem,be=function(K,ue,We,Ye){return K&&(K[ue]||K(f,S))||We[ue].slice(0,Ye)},Re=function(K){return M.s(E%12||12,K,"0")},Me=Ee||function(K,ue,We){var Ye=K<12?"AM":"PM";return We?Ye.toLowerCase():Ye};return S.replace(Wn,function(K,ue){return ue||(function(We){switch(We){case"YY":return String(f.$y).slice(-2);case"YYYY":return M.s(f.$y,4,"0");case"M":return R+1;case"MM":return M.s(R+1,2,"0");case"MMM":return be(m.monthsShort,R,X,3);case"MMMM":return be(X,R);case"D":return f.$D;case"DD":return M.s(f.$D,2,"0");case"d":return String(f.$W);case"dd":return be(m.weekdaysMin,f.$W,L,2);case"ddd":return be(m.weekdaysShort,f.$W,L,3);case"dddd":return L[f.$W];case"H":return String(E);case"HH":return M.s(E,2,"0");case"h":return Re(1);case"hh":return Re(2);case"a":return Me(E,D,!0);case"A":return Me(E,D,!1);case"m":return String(D);case"mm":return M.s(D,2,"0");case"s":return String(f.$s);case"ss":return M.s(f.$s,2,"0");case"SSS":return M.s(f.$ms,3,"0");case"Z":return _}return null})(K)||_.replace(":","")})},d.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},d.diff=function(u,f,m){var S,_=this,E=M.p(f),D=V(u),R=(D.utcOffset()-this.utcOffset())*t,L=this-D,X=function(){return M.m(_,D)};switch(E){case J:S=X()/12;break;case w:S=X();break;case ye:S=X()/3;break;case G:S=(L-R)/6048e5;break;case h:S=(L-R)/864e5;break;case l:S=L/e;break;case s:S=L/t;break;case o:S=L/i;break;default:S=L}return m?S:M.a(S)},d.daysInMonth=function(){return this.endOf(w).$D},d.$locale=function(){return xe[this.$L]},d.locale=function(u,f){if(!u)return this.$L;var m=this.clone(),S=Ue(u,f,!0);return S&&(m.$L=S),m},d.clone=function(){return M.w(this.$d,this)},d.toDate=function(){return new Date(this.valueOf())},d.toJSON=function(){return this.isValid()?this.toISOString():null},d.toISOString=function(){return this.$d.toISOString()},d.toString=function(){return this.$d.toUTCString()},C})(),Jt=He.prototype;return V.prototype=Jt,[["$ms",n],["$s",o],["$m",s],["$H",l],["$W",h],["$M",w],["$y",J],["$D",ae]].forEach(function(C){Jt[C[1]]=function(d){return this.$g(d,C[0],C[1])}}),V.extend=function(C,d){return C.$i||(C(d,He,V),C.$i=!0),V},V.locale=Ue,V.isDayjs=At,V.unix=function(C){return V(1e3*C)},V.en=xe[Ve],V.Ls=xe,V.p={},V})});var _e=class i{api=z(gn);generate(t,e={}){return this.api.post(`/api/sprite/generate/${t}`,e)}getConfig(t){return this.api.get(`/api/sprite/config/${t}`)}createConfig(t,e,n){return this.api.post(`/api/sprite/config/${t}`,{config:n,assets:e})}checkout(t,e={}){return this.api.post(`/api/svn/sync/${t}`,e)}streamCheckout(t,e={}){return this.api.post(`/api/svn/sync/stream/${t}`,e)}getRuntimes(t){return this.api.get(`/api/svn/runtime/${t}`)}getSprites(t,e=!1){let n=new tt().set("local",e.toString());return this.api.get(`/api/sprite/list/${t}`,n)}browseIconGroups(t){return this.api.get(`/api/sprite/browse/icons/groups/${t}`)}browseIconFiles(t,e){let n=new tt().set("group",e);return this.api.get(`/api/sprite/browse/icons/files/${t}`,n)}browseImages(t,e=""){let n=new tt().set("dir",e);return this.api.get(`/api/sprite/browse/images/list/${t}`,n)}static \u0275fac=function(e){return new(e||i)};static \u0275prov=Fe({token:i,factory:i.\u0275fac,providedIn:"root"})};var $e=class i{projectContext=z(Cn);api=z(_e);project=W(()=>this.projectContext.currentProject());async loadConfig(){if(!this.project())throw new Error("No project selected");let t=this.project().id;return await se(this.api.getConfig(t))}async createConfig(t,e){if(!this.project())throw new Error("No project selected");let n=this.project().id,o=await se(this.api.createConfig(n,t,e));return this.projectContext.patchProject(o.project),o.cfg}async checkout(t={}){let e=this.ensureProjectId();return await se(this.api.checkout(e,t))}async streamCheckout(t={}){let e=this.ensureProjectId();return await se(this.api.streamCheckout(e,t))}async getSvnRuntimes(){let t=this.ensureProjectId();return await se(this.api.getRuntimes(t))}async generate(){let t=this.ensureProjectId();return await se(this.api.generate(t))}async getSprites(){let t=this.ensureProjectId();return await se(this.api.getSprites(t))}async getLocalSprites(){let t=this.ensureProjectId();return await se(this.api.getSprites(t,!0))}ensureProjectId(){let t=this.project();if(!t)throw new Error("No project selected");return t.id}static \u0275fac=function(e){return new(e||i)};static \u0275prov=Fe({token:i,factory:i.\u0275fac,providedIn:"root"})};var xt=class i{constructor(t){this.ws=t;this.ws.messages().subscribe(e=>this.onMessage(e)),this.ws.stateChanges().subscribe(e=>{e==="open"&&this.lastWsState!=="open"&&this.replaySubs(),this.lastWsState=e})}subs=new Map;lastWsState="idle";event$=new ze;eventByProject=new Map;runtimesByProject=new Map;outputByKey=new Map;ensureConnected(){this.ws.connect()}subscribeProject(t,e=1e3){let n=String(t??"").trim();if(!n)return;let o=Math.max(0,Math.min(5e3,e|0));this.subs.get(n)!==o&&(this.subs.set(n,o),this.ensureProjectEventSubject(n),this.ensureProjectRuntimesSubject(n),this.ws.isOpen()&&this.ws.send({op:"sub",topic:"svn",projectId:n,tail:o}))}unsubscribeProject(t){let e=String(t??"").trim();this.subs.has(e)&&(this.subs.delete(e),this.ws.isOpen()&&this.ws.send({op:"unsub",topic:"svn",projectId:e}))}watchProject(t,e=1e3){let n=String(t??"").trim();this.ensureConnected(),this.subscribeProject(n,e);let o=new Ge;return o.add(()=>this.unsubscribeProject(n)),o}bindToDestroyRef(t,e,n=1e3){let o=String(t??"").trim();this.ensureConnected(),this.subscribeProject(o,n),e.onDestroy(()=>this.unsubscribeProject(o))}events$(){return this.event$.asObservable()}eventsByProject$(t){let e=String(t??"").trim();return this.ensureProjectEventSubject(e).asObservable()}runtimes$(t){let e=String(t??"").trim();return this.ensureProjectRuntimesSubject(e).asObservable().pipe(Zt())}output$(t){let e=this.keyOf(t);return this.outputByKey.has(e)||this.outputByKey.set(e,new ze),this.outputByKey.get(e).asObservable()}replaySubs(){for(let[t,e]of this.subs.entries())this.ws.send({op:"sub",topic:"svn",projectId:t,tail:e})}onMessage(t){if(t?.op!=="svn.event")return;let e=t,n=e.type,o=e.payload,s=String(o?.projectId??"").trim();s&&(this.event$.next(e),this.ensureProjectEventSubject(s).next(e),this.applyEvent(n,o,e.ts??Date.now()))}applyEvent(t,e,n){let o=String(e?.projectId??"").trim(),s=String(e?.sourceId??"").trim();if(!(!o||!s))switch(t){case"runtime":{let l=e;this.upsert(o,s,h=>ee(q(q({},h),l),{lastEventAt:n}),!0);return}case"started":{let l=e;this.upsert(o,s,h=>ee(q({},h),{status:l.status,lastEventAt:n}));return}case"output":{let l=e,h=l.type,G=String(l.data??"");if(G){let w=this.keyOf(o);this.outputByKey.has(w)||this.outputByKey.set(w,new ze),this.outputByKey.get(w).next({projectId:o,sourceId:s,stream:h,text:G,status:l.status,ts:n})}this.upsert(o,s,w=>ee(q({},w),{status:l.status,lastEventAt:n,lastStdout:h==="stdout"?G:w.lastStdout,lastStderr:h==="stderr"?G:w.lastStderr}));return}case"progress":{let l=e;this.upsert(o,s,h=>ee(q({},h),{status:l.status,lastEventAt:n,total:l.total??h.total,changed:l.changed??h.changed,percent:l.percent??h.percent}));return}case"done":{let l=e;this.upsert(o,s,h=>ee(q({},h),{status:l.status,lastEventAt:n,updatedAt:l.updatedAt,lastSyncAt:l.updatedAt,lastSyncMode:l.mode,desiredUrl:l.desiredUrl,currentUrl:l.currentUrl}));return}case"failed":{let l=e;if(this.upsert(o,s,h=>ee(q({},h),{status:l.status,lastEventAt:n,updatedAt:l.updatedAt,lastError:l.error,lastStderr:l.error?`[failed] ${l.error}`:h.lastStderr})),l.error){let h=this.keyOf(o);this.outputByKey.has(h)||this.outputByKey.set(h,new ze),this.outputByKey.get(h).next({projectId:o,sourceId:s,stream:"stderr",text:`[failed] ${l.error}
2
+ `,status:l.status,ts:n})}return}default:return}}upsert(t,e,n,o=!1){let s=this.ensureProjectRuntimesSubject(t),l=s.value??[],h=l.findIndex(ae=>ae.projectId===t&&ae.sourceId===e),G=h>=0?l[h]:{projectId:t,sourceId:e},w=n(G),ye=o?q(q({},G),w):w,J=l.slice();h>=0?J[h]=ye:J.unshift(ye),s.next(J.slice(0,200))}ensureProjectEventSubject(t){let e=String(t??"").trim();return this.eventByProject.has(e)||this.eventByProject.set(e,new ze),this.eventByProject.get(e)}ensureProjectRuntimesSubject(t){let e=String(t??"").trim();return this.runtimesByProject.has(e)||this.runtimesByProject.set(e,new Xt([])),this.runtimesByProject.get(e)}keyOf(t){return`svn:${t}`}static \u0275fac=function(e){return new(e||i)(en(hn))};static \u0275prov=Fe({token:i,factory:i.\u0275fac,providedIn:"root"})};var Rt=()=>({type:"question-circle",theme:"outline"}),bt=class i{draft;static \u0275fac=function(e){return new(e||i)};static \u0275cmp=O({type:i,selectors:[["app-step-basic"]],inputs:{draft:"draft"},decls:35,vars:11,consts:[["nzTitle","\u57FA\u7840\u8BBE\u7F6E"],["nz-form","","nzLayout","vertical"],["nzTooltipTitle","\u9879\u76EE\u7684\u539F\u5C3A\u5BF8\u56FE\u6807SVN\u5730\u5740\uFF0C\u7528\u4E8E\u5236\u4F5C\u9879\u76EE\u6240\u9700\u96EA\u78A7\u56FE\uFF08\u53EF\u9009\uFF09",3,"nzTooltipIcon"],["nz-input","","name","iconSvnPath","placeholder","\u8F93\u5165\u539F\u5C3A\u5BF8\u56FE\u6807SVN\u5730\u5740\uFF08\u53EF\u9009\uFF09",3,"ngModelChange","ngModel"],[1,"hint"],["nzTooltipTitle","\u9879\u76EE\u7684\u5176\u4ED6\u5207\u56FESVN\u5730\u5740\uFF0C\u65B9\u4FBF\u6D4F\u89C8\u548C\u67E5\u770B\u8BE6\u60C5",3,"nzTooltipIcon"],["nz-input","","name","otherImagesSvnPath","placeholder","\u8F93\u5165\u5176\u4ED6\u5207\u56FE SVN \u5730\u5740",3,"ngModelChange","ngModel"],["nzTooltipTitle","\u672C\u5730\u56FE\u7247\u6587\u4EF6\u5939\u8DEF\u5F84\uFF0C\u652F\u6301\u4E24\u7EA7\u904D\u5386\uFF08\u6839\u76EE\u5F55 + \u4E00\u7EA7\u5B50\u76EE\u5F55\uFF09\u751F\u6210\u96EA\u78A7\u56FE",3,"nzTooltipIcon"],["nzHasFeedback","","nzErrorTip","\u8BF7\u8F93\u5165\u672C\u5730\u56FE\u7247\u6587\u4EF6\u5939\u8DEF\u5F84"],["nz-input","","name","localImageRoot","placeholder","\u8F93\u5165\u672C\u5730\u56FE\u7247\u6587\u4EF6\u5939\u8DEF\u5F84",3,"ngModelChange","ngModel"],["nzRequired","","nzTooltipTitle","\u7528\u4E8E\u5B58\u653E\u751F\u6210\u7684\u96EA\u78A7\u56FE\u6587\u4EF6"],["nzHasFeedback","","nzErrorTip","\u8BF7\u8F93\u5165\u5B58\u653E\u96EA\u78A7\u56FE\u7684\u5BFC\u51FA\u76EE\u5F55"],["nz-input","","required","","name","spriteExportDir","placeholder","\u8F93\u5165\u96EA\u78A7\u56FE\u5BFC\u51FA\u76EE\u5F55",3,"ngModelChange","ngModel"],["nzRequired","","nzTooltipTitle","\u7528\u4E8E\u5B58\u653E\u751F\u6210\u7684Less\u6587\u4EF6"],["nzHasFeedback","","nzErrorTip","\u8BF7\u8F93\u5165\u5B58\u653ELess\u6587\u4EF6\u7684\u5BFC\u51FA\u76EE\u5F55"],["nz-input","","required","","name","lessExportDir","placeholder","\u8F93\u5165Less\u5BFC\u51FA\u76EE\u5F55",3,"ngModelChange","ngModel"]],template:function(e,n){e&1&&(r(0,"nz-card",0)(1,"form",1)(2,"nz-form-item")(3,"nz-form-label",2),c(4,"\u539F\u5C3A\u5BF8\u56FE\u6807 SVN \u5730\u5740"),a(),r(5,"nz-form-control")(6,"input",3),$("ngModelChange",function(s){return j(n.draft.iconSvnPath,s)||(n.draft.iconSvnPath=s),s}),a()(),r(7,"div",4),c(8,"\u793A\u4F8B\uFF1Asvn://192.168.1.10/\u9879\u76EE\u7BA1\u7406/xx\u9879\u76EE/02.\u9879\u76EE\u6587\u6863/05.\u7CFB\u7EDF\u8BBE\u8BA1/02-\u539F\u578B\u8BBE\u8BA1/02-UI\u8BBE\u8BA1\u6548\u679C\u56FE&\u5207\u56FE/3-\u539F\u5C3A\u5BF8\u56FE\u6807"),a()(),r(9,"nz-form-item")(10,"nz-form-label",5),c(11,"\u5176\u4ED6\u5207\u56FE SVN \u5730\u5740"),a(),r(12,"nz-form-control")(13,"input",6),$("ngModelChange",function(s){return j(n.draft.otherImagesSvnPath,s)||(n.draft.otherImagesSvnPath=s),s}),a()()(),r(14,"nz-form-item")(15,"nz-form-label",7),c(16,"\u672C\u5730\u56FE\u7247\u6587\u4EF6\u5939"),a(),r(17,"nz-form-control",8)(18,"input",9),$("ngModelChange",function(s){return j(n.draft.localImageRoot,s)||(n.draft.localImageRoot=s),s}),a()(),r(19,"div",4),c(20,"\u793A\u4F8B\uFF1AD:workicons \u6216 /home/user/icons\u3002\u5982\u679C\u8BBE\u7F6E\u6B64\u8DEF\u5F84\uFF0C\u5C06\u4F18\u5148\u4F7F\u7528\u6B64\u76EE\u5F55\u751F\u6210\u96EA\u78A7\u56FE\u3002"),a()(),r(21,"nz-form-item")(22,"nz-form-label",10),c(23,"\u96EA\u78A7\u56FE\u5BFC\u51FA\u76EE\u5F55"),a(),r(24,"nz-form-control",11)(25,"input",12),$("ngModelChange",function(s){return j(n.draft.spriteExportDir,s)||(n.draft.spriteExportDir=s),s}),a()(),r(26,"div",4),c(27," \u793A\u4F8B\uFF1A\u524D\u7AEF\u9879\u76EE\u4E2D\u516C\u5171\u8D44\u6E90\u76EE\u5F55\u4E00\u822C\u4E3A assets \u6216 public\uFF0C\u5EFA\u8BAE\u8BBE\u7F6E\u4E3A 'assets/icons' \u6216 'public/icons' "),a()(),r(28,"nz-form-item")(29,"nz-form-label",13),c(30,"Less \u5BFC\u51FA\u76EE\u5F55"),a(),r(31,"nz-form-control",14)(32,"input",15),$("ngModelChange",function(s){return j(n.draft.lessExportDir,s)||(n.draft.lessExportDir=s),s}),a()(),r(33,"div",4),c(34," \u793A\u4F8B\uFF1A\u524D\u7AEF\u9879\u76EE\u4E2D\u6837\u5F0F\u6587\u4EF6\u76EE\u5F55\u4E00\u822C\u4E3A '/src/styles'\uFF0C\u5EFA\u8BAE\u8BBE\u7F6E\u4E3A '/src/styles/icons' "),a()()()()),e&2&&(p(3),y("nzTooltipIcon",et(8,Rt)),p(3),B("ngModel",n.draft.iconSvnPath),p(4),y("nzTooltipIcon",et(9,Rt)),p(3),B("ngModel",n.draft.otherImagesSvnPath),p(2),y("nzTooltipIcon",et(10,Rt)),p(3),B("ngModel",n.draft.localImageRoot),p(7),B("ngModel",n.draft.spriteExportDir),p(7),B("ngModel",n.draft.lessExportDir))},dependencies:[N,Y,pt,Oe,ie,at,un,oe,st,St,Te,Ie,ht,gt,vt,Ct,Z,ge,H,ve,ft,fe,De,re,U],styles:[".hint[_ngcontent-%COMP%]{margin-top:6px;font-size:12px;opacity:.7}.emit[_ngcontent-%COMP%]{margin-top:8px}"]})};var wt=class i{draft;spriteUrlHint="\u9879\u76EE\u4E2D\u5B9E\u9645\u96EA\u78A7\u56FE\u8DEF\u5F84\uFF0C\u9ED8\u8BA4\uFF1A/assets/icons/{group}.png\uFF0C\u5982\uFF1A/assets/icons/16-16.png\u3002\u652F\u6301\u5360\u4F4D\u7B26\uFF1A {group} \u5206\u7EC4\u540D\uFF08\u5982 16-16\uFF09\uFF0C {size} \u5C3A\u5BF8\u524D\u7F00\uFF08\u5982 16\uFF09\u3002";templatePlaceholder='\u8F93\u5165\u590D\u5236\u6A21\u677F,\u9ED8\u8BA4\uFF1A<i class="{base} {class}"></i>';templateHint='\u5B9E\u9645\u590D\u5236\u7684\u6587\u672C\uFF0C\u9ED8\u8BA4\uFF1A<i class="{base} {class}"></i>\uFF0C\u5982\uFF1A<i class="sl-16 sl-16-1"></i>\u3002\u652F\u6301\u5360\u4F4D\u7B26\uFF1A{base} \u57FA\u7C7B\u540D\uFF0C{class} CSS \u7C7B\u540D\uFF1B{name} \u56FE\u6807\u540D\u79F0\uFF1B\u652F\u6301\u4F7F\u7528\u81EA\u5B9A\u4E49\u7EC4\u4EF6\uFF0C\u5982\u5C0F\u7A0B\u5E8F\u4E2D\u7528\u6CD5\uFF1A<SlIcon name="16-16-1" size="16" />\uFF0C\u5219\u6A21\u677F\u4E3A\uFF1A<SlIcon name="{name}" size="{size}"/>\u3002';static \u0275fac=function(e){return new(e||i)};static \u0275cmp=O({type:i,selectors:[["app-step-advance"]],inputs:{draft:"draft"},decls:23,vars:7,consts:[["nzTitle","\u9AD8\u7EA7\u8BBE\u7F6E"],["nz-form","","nzLayout","vertical"],["nz-input","","name","cssPrefix","placeholder","\u8F93\u5165 CSS \u524D\u7F00\uFF0C\u9ED8\u8BA4\uFF1Asl",3,"ngModelChange","ngModel"],[1,"hint"],["nz-input","","name","spriteUrl","placeholder","\u8F93\u5165\u96EA\u78A7\u56FE URL\uFF0C\u9ED8\u8BA4\uFF1A/assets/icons/{group}.png",3,"ngModelChange","ngModel"],["nz-input","","name","template","rows","3",2,"resize","none",3,"ngModelChange","ngModel","placeholder"]],template:function(e,n){e&1&&(r(0,"nz-card",0)(1,"form",1)(2,"nz-form-item")(3,"nz-form-label"),c(4,"CSS \u524D\u7F00"),a(),r(5,"nz-form-control")(6,"input",2),$("ngModelChange",function(s){return j(n.draft.cssPrefix,s)||(n.draft.cssPrefix=s),s}),a(),r(7,"div",3),c(8," \u53EF\u9009\uFF0C\u9ED8\u8BA4\u4E3A sl\u3002\u751F\u6210\u7684 CSS \u7C7B\u540D\u5C06\u4EE5\u8BE5\u524D\u7F00\u5F00\u5934\uFF0C\u5982\uFF1Asl-16-1\u3002 "),a()()(),r(9,"nz-form-item")(10,"nz-form-label"),c(11,"\u96EA\u78A7\u56FE URL"),a(),r(12,"nz-form-control")(13,"input",4),$("ngModelChange",function(s){return j(n.draft.spriteUrl,s)||(n.draft.spriteUrl=s),s}),a(),r(14,"div",3),c(15),a()()(),r(16,"nz-form-item")(17,"nz-form-label"),c(18,"\u590D\u5236\u6A21\u677F"),a(),r(19,"nz-form-control")(20,"textarea",5),$("ngModelChange",function(s){return j(n.draft.template,s)||(n.draft.template=s),s}),a(),r(21,"div",3),c(22),a()()()()()),e&2&&(p(6),B("ngModel",n.draft.cssPrefix),p(7),B("ngModel",n.draft.spriteUrl),p(2),te(" ",n.spriteUrlHint," "),p(5),y("placeholder",on(n.templatePlaceholder)),B("ngModel",n.draft.template),p(2),te(" ",n.templateHint," "))},dependencies:[N,Y,pt,Oe,ie,at,oe,st,St,Te,Ie,ht,gt,vt,Ct,Z,ge,H,ve,ft,fe,De,re,U],styles:[".hint[_ngcontent-%COMP%]{margin-top:6px;font-size:12px;opacity:.7}.emit[_ngcontent-%COMP%]{margin-top:8px}"]})};var Et=class i{draft;static \u0275fac=function(e){return new(e||i)};static \u0275cmp=O({type:i,selectors:[["app-step-summary-aside"]],inputs:{draft:"draft"},decls:48,vars:14,consts:[["nzTitle","\u6458\u8981","nzSize","small"],[1,"item"],[1,"k"],[1,"v"],[1,"v","mono",3,"nz-tooltip"],[1,"v",3,"nz-tooltip"],[1,"sep"]],template:function(e,n){e&1&&(r(0,"nz-card",0)(1,"div",1)(2,"span",2),c(3,"\u9879\u76EE\u540D\u79F0"),a(),r(4,"span",3),c(5),a()(),r(6,"div",1)(7,"span",2),c(8,"\u539F\u5C3A\u5BF8\u56FE\u6807"),a(),r(9,"span",4),c(10),a()(),r(11,"div",1)(12,"span",2),c(13,"\u5176\u4ED6\u5207\u56FE"),a(),r(14,"span",5),c(15),a()(),g(16,"div",6),r(17,"div",1)(18,"span",2),c(19,"\u672C\u5730\u76EE\u5F55"),a(),r(20,"span",5),c(21),a()(),r(22,"div",1)(23,"span",2),c(24,"\u96EA\u78A7\u56FE\u5BFC\u51FA"),a(),r(25,"span",5),c(26),a()(),r(27,"div",1)(28,"span",2),c(29,"Less \u5BFC\u51FA\u76EE\u5F55"),a(),r(30,"span",5),c(31),a()(),g(32,"div",6),r(33,"div",1)(34,"span",2),c(35,"CSS\u524D\u7F00"),a(),r(36,"span",3),c(37),a()(),r(38,"div",1)(39,"span",2),c(40,"\u96EA\u78A7\u56FE URL"),a(),r(41,"span",3),c(42),a()(),r(43,"div",1)(44,"span",2),c(45,"\u590D\u5236\u6A21\u677F"),a(),r(46,"span",3),c(47),a()()()),e&2&&(p(5),k(n.draft.name||"-"),p(4),y("nz-tooltip",n.draft.iconSvnPath),p(),k(n.draft.iconSvnPath||"-"),p(4),y("nz-tooltip",n.draft.otherImagesSvnPath),p(),k(n.draft.otherImagesSvnPath||"-"),p(5),y("nz-tooltip",n.draft.localDir),p(),k(n.draft.localDir||"-"),p(4),y("nz-tooltip",n.draft.spriteExportDir),p(),k(n.draft.spriteExportDir??"-"),p(4),y("nz-tooltip",n.draft.lessExportDir),p(),k(n.draft.lessExportDir??"-"),p(6),k(n.draft.cssPrefix??"-"),p(5),k(n.draft.spriteUrl??"-"),p(5),k(n.draft.template??"-"))},dependencies:[N,fe,De,Se,re,Ae,U,H,rt],styles:[".item[_ngcontent-%COMP%]{display:flex;justify-content:space-between;gap:10px;padding:6px 0;align-items:center}.k[_ngcontent-%COMP%]{opacity:.7;width:90px;font-size:14px}.v[_ngcontent-%COMP%]{text-align:right;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mono[_ngcontent-%COMP%]{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;word-break:break-all}.sep[_ngcontent-%COMP%]{height:1px;background:#0000000f;margin:10px 0}.tag[_ngcontent-%COMP%]{margin-top:8px;text-align:right}.warn[_ngcontent-%COMP%]{margin-top:10px;font-size:12px;color:#d46b08}"]})};var zt=class i{cssText="";clipboard=z(je);msg=z(Be);async copyCss(){let t=this.cssText;t&&(this.clipboard.copy(t),this.msg.success("\u5DF2\u590D\u5236\u6837\u5F0F"))}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=O({type:i,selectors:[["app-less-viewport"]],inputs:{cssText:"cssText"},decls:11,vars:2,consts:[[1,"view-card","bg-fx"],[1,"view-header"],[1,"text"],[1,"actions"],["nz-button","","nzType","text","nz-tooltip","\u590D\u5236\u6837\u5F0F",3,"click","disabled"],["nzType","copy"],[1,"viewport"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"div",1)(2,"div",2),c(3,"\u6837\u5F0F\u4EE3\u7801"),a(),r(4,"div",3)(5,"button",4),P("click",function(){return n.copyCss()}),g(6,"nz-icon",5),a()()(),r(7,"div",6)(8,"pre")(9,"code"),c(10),a()()()()),e&2&&(p(5),y("disabled",!n.cssText),p(5),k(n.cssText))},dependencies:[N,ut,Y,nt,H,Ne,de,U,me,dt,re,Ae],styles:["[_nghost-%COMP%]{display:block;height:100%}.bg-fx[_ngcontent-%COMP%]{background:radial-gradient(1200px 650px at 20% 10%,rgba(34,211,238,.14),transparent 55%),radial-gradient(900px 520px at 80% 35%,rgba(124,58,237,.16),transparent 55%),radial-gradient(900px 520px at 40% 90%,rgba(52,211,153,.1),transparent 55%),linear-gradient(180deg,#050816,#070b18 40%,#050816);position:relative}.view-card[_ngcontent-%COMP%]{border:1px solid rgba(15,23,42,.12);position:relative;border-radius:12px;display:flex;flex-direction:column;height:100%;overflow:hidden}.view-header[_ngcontent-%COMP%]{padding:8px 12px;display:flex;align-items:center;justify-content:space-between;flex:0 0 auto}.view-header[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{font-size:14px;font-weight:500;color:#ffffffd9}.view-header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px}.view-header[_ngcontent-%COMP%] .actions[_ngcontent-%COMP%] button[nz-button][_ngcontent-%COMP%]{color:#ffffffd9}.viewport[_ngcontent-%COMP%]{flex:1 1 auto;min-height:0;cursor:default;background-color:#050815;position:relative;color:#fff;padding-left:12px;overflow-x:hidden;overflow-y:auto}"]})};var qn=["viewport"],Qn=(i,t)=>t.name;function Jn(i,t){if(i&1){let e=A();r(0,"div",19),P("mousemove",function(o){let s=x(e).$implicit,l=v();return b(l.onBoxMove(o,s))})("mouseleave",function(){x(e);let o=v();return b(o.onBoxLeave())})("click",function(o){let s=x(e).$implicit,l=v();return o.stopPropagation(),b(l.setActive(s.name))}),a()}if(i&2){let e=t.$implicit,n=v();ne("left",e.x,"px")("top",e.y,"px")("width",e.width,"px")("height",e.height,"px"),we("active",n.activeClassName()===e.className)}}var Ft=class i{item=null;viewportRef;activeClassName=rn("");showGrid=!0;showBoxes=!0;scale=F(1);tx=F(0);ty=F(0);dragging=F(!1);last=F({x:0,y:0});tooltip=F({visible:!1,left:0,top:0,name:"\u2014",meta:"\u2014"});get classes(){return this.meta?.classes??[]}get meta(){return this.item?.meta}get previewSpriteUrl(){return this.item?.previewSpriteUrl??""}setActive(t){this.activeClassName.set(t)}stageTransform=W(()=>`translate(${this.tx()}px, ${this.ty()}px) scale(${this.scale()})`);onBoxMove(t,e){if(!this.showBoxes)return;this.activeClassName()!==e.className&&this.setActive(e.className);let n=this.viewportRef.nativeElement.getBoundingClientRect();this.tooltip.set({visible:!0,left:t.clientX-n.left+10,top:t.clientY-n.top+10,name:e.name,meta:`${e.width}\xD7${e.height} \xB7 (-${e.x}px, -${e.y}px)`})}onBoxLeave(){this.tooltip.set(ee(q({},this.tooltip()),{visible:!1}))}onMouseDown(t){this.dragging.set(!0),this.last.set({x:t.clientX,y:t.clientY})}onMouseUp(){this.dragging.set(!1)}onMouseMove(t){if(!this.dragging())return;let e=this.last(),n=t.clientX-e.x,o=t.clientY-e.y;this.last.set({x:t.clientX,y:t.clientY}),this.tx.set(this.tx()+n),this.ty.set(this.ty()+o)}onWheel(t){t.preventDefault();let e=this.viewportRef.nativeElement.getBoundingClientRect(),n=t.clientX-e.left,o=t.clientY-e.top,s=-Math.sign(t.deltaY)*.08,l=this.scale(),h=this.clamp(l*(1+s),.6,3),G=(n-this.tx())/l,w=(o-this.ty())/l;this.scale.set(h),this.tx.set(n-G*h),this.ty.set(o-w*h)}clearActiveIfBlank(t){t.target.id==="viewport"&&this.setActive("")}resetView(){this.scale.set(1),this.tx.set(0),this.ty.set(0)}clamp(t,e,n){return Math.max(e,Math.min(n,t))}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=O({type:i,selectors:[["app-sprite-viewport"]],viewQuery:function(e,n){if(e&1&&Je(qn,7),e&2){let o;Xe(o=Ze())&&(n.viewportRef=o.first)}},inputs:{item:"item",activeClassName:[1,"activeClassName"]},outputs:{activeClassName:"activeClassNameChange"},decls:32,vars:24,consts:[["viewport",""],[1,"view-card","bg-fx"],[1,"view-header"],[1,"tip"],["nzColor","purple"],["nzColor","geekblue"],[1,"actions"],["href","javascript:;",1,"tip",3,"click"],["nz-checkbox","",3,"ngModelChange","ngModel"],[1,"viewport",3,"mousedown","mousemove","mouseup","mouseleave","wheel","click"],[1,"stage","abs","inset-0",2,"transform-origin","0 0"],[1,"sprite","abs"],[1,"abs","inset-0",2,"background-repeat","no-repeat","background-position","0 0","background-size","100% 100%","opacity",".95"],[1,"abs","inset-0","abs2"],[1,"abs","inset-0","boxes"],[1,"abs","box-item","transition",3,"active","left","top","width","height"],[1,"tooltip","abs"],[1,"font-medium"],[1,"info-bar"],[1,"abs","box-item","transition",3,"mousemove","mouseleave","click"]],template:function(e,n){if(e&1){let o=A();r(0,"div",1)(1,"div",2)(2,"nz-space")(3,"div",3),g(4,"nz-badge",4),c(5," \u9F20\u6807\u6EDA\u8F6E\u7F29\u653E "),a(),r(6,"div",3),g(7,"nz-badge",5),c(8," \u62D6\u62FD\u79FB\u52A8 "),a()(),r(9,"div",6)(10,"nz-space")(11,"a",7),P("click",function(){return x(o),b(n.resetView())}),c(12,"\u91CD\u7F6E\u89C6\u56FE"),a(),r(13,"label",8),$("ngModelChange",function(l){return x(o),j(n.showGrid,l)||(n.showGrid=l),b(l)}),c(14,"\u50CF\u7D20\u7F51\u683C"),a(),r(15,"label",8),$("ngModelChange",function(l){return x(o),j(n.showBoxes,l)||(n.showBoxes=l),b(l)}),c(16,"\u5207\u7247\u6846"),a()()()(),r(17,"div",9,0),P("mousedown",function(l){return x(o),b(n.onMouseDown(l))})("mousemove",function(l){return x(o),b(n.onMouseMove(l))})("mouseup",function(){return x(o),b(n.onMouseUp())})("mouseleave",function(){return x(o),b(n.onMouseUp())})("wheel",function(l){return x(o),b(n.onWheel(l))})("click",function(l){return x(o),b(n.clearActiveIfBlank(l))}),r(19,"div",10)(20,"div",11),g(21,"div",12)(22,"div",13),r(23,"div",14),pe(24,Jn,1,10,"div",15,Qn),a()()(),r(26,"div",16)(27,"div",17),c(28),a(),r(29,"div"),c(30),a()()(),g(31,"div",18),a()}e&2&&(p(13),B("ngModel",n.showGrid),p(2),B("ngModel",n.showBoxes),p(2),ne("height",((n.meta==null?null:n.meta.spriteHeight)??0)+48,"px"),we("grid-fx",n.showGrid),p(2),ne("transform",n.stageTransform()),p(),ne("width",n.meta==null?null:n.meta.spriteWidth,"px")("height",n.meta==null?null:n.meta.spriteHeight,"px"),p(),ne("background-image","url("+n.previewSpriteUrl+")"),p(2),ne("display",n.showBoxes?"block":"none"),p(),le(n.classes),p(2),ne("left",n.tooltip().left,"px")("top",n.tooltip().top,"px"),we("hidden",!n.tooltip().visible),p(2),k(n.tooltip().name),p(2),k(n.tooltip().meta))},dependencies:[N,ut,yn,Y,ie,oe,nt,sn,ct,lt],styles:[`.view-card[_ngcontent-%COMP%]{border:1px solid rgba(15,23,42,.12);position:relative;border-radius:12px;overflow:hidden}.view-header[_ngcontent-%COMP%]{padding:8px 12px;display:flex;align-items:center;justify-content:space-between}.view-header[_ngcontent-%COMP%] .tip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;color:#fffc;font-size:12px}.view-header[_ngcontent-%COMP%] label[_ngcontent-%COMP%]{color:#fffc}.viewport[_ngcontent-%COMP%]{cursor:default;min-height:360px;background-color:#050815;position:relative;overflow:hidden}.viewport.grid-fx[_ngcontent-%COMP%]{background-image:linear-gradient(to right,rgba(148,163,184,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(148,163,184,.06) 1px,transparent 1px);background-size:28px 28px}.bg-fx[_ngcontent-%COMP%]{background:radial-gradient(1200px 650px at 20% 10%,rgba(34,211,238,.14),transparent 55%),radial-gradient(900px 520px at 80% 35%,rgba(124,58,237,.16),transparent 55%),radial-gradient(900px 520px at 40% 90%,rgba(52,211,153,.1),transparent 55%),linear-gradient(180deg,#050816,#070b18 40%,#050816);position:relative}.bg-fx[_ngcontent-%COMP%]:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");mix-blend-mode:overlay}.sprite[_ngcontent-%COMP%]{border-radius:12px;background-color:#ffffff05;top:24px;left:24px;--tw-ring-offset-shadow: 0 0 #0000;--tw-shadow: 0 0 0 1px rgba(34, 211, 238, .14), 0 24px 80px rgba(0, 0, 0, .55);--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color), 0 24px 80px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.abs[_ngcontent-%COMP%]{position:absolute}.inset-0[_ngcontent-%COMP%]{inset:0}.abs2[_ngcontent-%COMP%]{border-radius:12px;background:linear-gradient(135deg,#22d3ee14,#7c3aed1a)}.transition[_ngcontent-%COMP%]{transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.box-item[_ngcontent-%COMP%]{border-width:1px;border-style:solid;border-color:#ffffff26}.box-item[_ngcontent-%COMP%]:hover{border-color:#7c3aed66}.box-item.active[_ngcontent-%COMP%]{border-color:#22d3eeb3;box-shadow:0 0 0 1px #22d3ee40,0 0 28px #22d3ee2e}.tooltip[_ngcontent-%COMP%]{pointer-events:none;z-index:10;border-radius:8px;border:1px solid rgba(148,163,184,.14);background-color:#121c34b3;padding:6px 10px;box-shadow:0 0 0 1px #22d3ee40,0 10px 30px #7c3aed2e;color:#fff}.tooltip.hidden[_ngcontent-%COMP%]{display:none}`]})};var Zn=(i,t)=>t.group,ei=(i,t)=>t.name,ti=(i,t)=>t.className;function ni(i,t){if(i&1&&g(0,"nz-option",5),i&2){let e=t.$implicit;y("nzLabel",e.group)("nzValue",e.group)}}function ii(i,t){i&1&&g(0,"nz-empty",6)}function oi(i,t){i&1&&g(0,"nz-empty",15)}function ri(i,t){if(i&1&&g(0,"img",25),i&2){let e=v().$implicit;y("nzSrc",e.url)("alt",e.name)}}function ai(i,t){if(i&1){let e=A();r(0,"div",23),P("click",function(){let o=x(e).$implicit,s=v(4);return b(s.copySvg(o))}),r(1,"div",24),I(2,ri,1,2,"img",25),a(),r(3,"div",26)(4,"div",27),c(5),a()()()}if(i&2){let e=t.$implicit;p(2),T(e.kind==="file"&&e.url?2:-1),p(3),k(e.name)}}function si(i,t){if(i&1&&pe(0,ai,6,2,"div",22,ei),i&2){let e=v(3);le(e.icons())}}function pi(i,t){if(i&1){let e=A();r(0,"div",23),P("click",function(){let o=x(e).$implicit,s=v(4);return b(s.copySpriteClass(o.className))}),r(1,"div",24),g(2,"div",28),a(),r(3,"div",26)(4,"div",27),c(5),a(),r(6,"div",29),c(7),a(),g(8,"nz-badge",30),a()()}if(i&2){let e=t.$implicit,n=v(4);p(2),y("ngStyle",n.spriteStyle(e)),p(3),k(e.name),p(2),k(e.className),p(),y("nzStatus",n.activeClassName()===e.className?"processing":"default")}}function li(i,t){if(i&1&&pe(0,pi,9,4,"div",22,ti),i&2){let e=v(3);le(e.iconClasses())}}function ci(i,t){if(i&1&&(r(0,"div",16),I(1,si,2,0)(2,li,2,0),a()),i&2){let e=v(2);p(),T(e.mode()==="svg"?1:2)}}function ui(i,t){if(i&1){let e=A();r(0,"div",7)(1,"div",8)(2,"div",9)(3,"div",10)(4,"div",11),c(5,"\u56FE\u6807\u9884\u89C8"),a(),r(6,"div",12),c(7),a()(),r(8,"div",13),g(9,"input",14),a()(),I(10,oi,1,0,"nz-empty",15)(11,ci,3,1,"div",16),a(),r(12,"div",8)(13,"div",9)(14,"div",10)(15,"div",11),c(16,"\u751F\u6210\u7ED3\u679C"),a(),r(17,"div",12),c(18,"LESS/CSS \u6837\u5F0F\uFF0C\u5305\u542B\u96EA\u78A7\u56FE\u80CC\u666F\u5B9A\u4F4D\u7B49\u4FE1\u606F"),a()(),g(19,"div",17),a(),r(20,"div",18)(21,"app-sprite-viewport",19),$("activeClassNameChange",function(o){x(e);let s=v();return j(s.activeClassName,o)||(s.activeClassName=o),b(o)}),a()(),r(22,"div",20),g(23,"app-less-viewport",21),a()()()}if(i&2){let e=v();p(7),te("\u5171",e.icons().length+e.iconClasses().length,"\u4E2A\u56FE\u6807"),p(3),T(e.iconClasses().length===0&&e.icons().length===0?10:11),p(11),B("activeClassName",e.activeClassName),y("item",e.activeItem()),p(2),y("cssText",e.cssText())}}var Pt=class i{clipboard=z(je);msg=z(Be);api=z(_e);sprite=Le(null);groups=W(()=>this.sprite()?.groups??[]);group=F("");activeItem=W(()=>{let t=this.group();return this.groups().find(e=>e.group===t)??null});mode=W(()=>this.activeItem()?.kind==="svg"?"svg":"png");activeClassName=F("");activePreviewSpriteUrl=W(()=>this.activeItem()?.previewSpriteUrl??null);ngOnChanges(t){if(t.sprite){let e=this.sprite()?.groups?.[0];if(e){let n=e.group??"";this.group.set(n),this.groupChange(n)}}}groupChange(t){this.activeItem()?.kind==="svg"&&this.loadImages(t)}loadImages(t){let e=this.sprite()?.projectId??"";e&&this.api.browseIconFiles(e,t).subscribe(n=>{let o=n.entries??[];this.icons.set(o)})}baseClass=W(()=>{let t=this.sprite()?.config?.prefix||"sl",e=this.group(),n=String(e).split("-");if(n.length>1){let[o,s]=n;return o!==s?`${t}-${n[0]}-${n[1]}`:`${t}-${n[0]}`}return`${t}-${n[0]}`});iconClasses=W(()=>(this.activeItem()?.meta?.classes??[]).filter(o=>!!o.className));icons=F([]);cssText=W(()=>{let t=this.activeItem();return String(t?.lessText??"")});async copySpriteClass(t){let n=(this.sprite()?.config?.template||'<i class="{base} {class}"></i>').replaceAll("{base}",this.baseClass()).replaceAll("{class}",t);this.activeClassName.set(t),this.clipboard.copy(n);let s=`\u5DF2\u590D\u5236\uFF1A${jn(n)}`;this.msg.success(s)}async copySvg(t){let e=this.sprite()?.config?.template;if(!e)return;let o=this.activeItem()?.meta;if(!o)return;let s=o?.size,l=o.icons.find(ye=>ye.file===t.name);if(!l)return;let h=e.replaceAll("{name}",l.name).replaceAll("{size}",s).replaceAll("{base}",l.className).replaceAll("{group}",o.group);this.clipboard.copy(h);let w=`\u5DF2\u590D\u5236\uFF1A${jn(h)}`;this.msg.success(w)}async copyCss(){let t=this.cssText();t&&(this.clipboard.copy(t),this.msg.success("\u5DF2\u590D\u5236"))}baseSpriteStyle(){let t=this.activeItem(),e=t?.previewSpriteUrl;if(!e)return{};let n=t?.meta;return{backgroundImage:`url("${e}")`,backgroundRepeat:"no-repeat",backgroundSize:n?`${n.spriteWidth}px ${n.spriteHeight}px`:"initial"}}spriteStyle(t){if(!t)return{};let e=this.baseSpriteStyle();return ee(q({},e),{width:`${t.width}px`,height:`${t.height}px`,backgroundPosition:`-${t.x}px -${t.y}px`})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=O({type:i,selectors:[["app-sprite-icons-panel"]],inputs:{sprite:[1,"sprite"]},features:[qe],decls:10,vars:2,consts:[[1,"wrap"],[1,"bar"],[1,"left"],[1,"label"],["nzPlaceHolder","\u8BF7\u9009\u62E9",2,"width","220px",3,"ngModelChange","ngModel"],[3,"nzLabel","nzValue"],["nzNotFoundContent","\u6CA1\u6709\u53EF\u5C55\u793A\u7684\u5206\u7EC4"],[1,"grid"],[1,"panel"],[1,"panel-header"],[1,"panel-title","column"],[1,"text"],[1,"sub-text"],[1,"search"],["type","text","placeholder","\u641C\u7D22\u56FE\u6807\u540D\u79F0\u6216\u7C7B\u540D","nz-input",""],["nzNotFoundContent","\u8BE5\u5206\u7EC4\u6CA1\u6709\u53EF\u7528\u56FE\u6807"],[1,"icon-grid"],[1,"actions"],[1,"sprite-content"],[3,"activeClassNameChange","activeClassName","item"],[1,"css-content"],[3,"cssText"],[1,"icon-card"],[1,"icon-card",3,"click"],[1,"thumb"],["nz-image","","loading","lazy",3,"nzSrc","alt"],[1,"meta"],[1,"name"],[1,"sprite",3,"ngStyle"],[1,"cls"],[3,"nzStatus"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"div",1)(2,"div",2)(3,"span",3),c(4,"\u5206\u7EC4"),a(),r(5,"nz-select",4),P("ngModelChange",function(s){return n.group.set(s),n.groupChange(s)}),pe(6,ni,1,2,"nz-option",5,Zn),a()()(),I(8,ii,1,0,"nz-empty",6)(9,ui,24,5,"div",7),a()),e&2&&(p(5),y("ngModel",n.group()),p(),le(n.groups()),p(2),T(n.activeItem()?9:8))},dependencies:[N,an,Y,ie,oe,ve,vn,Sn,ke,Ce,he,In,H,U,dt,Z,ge,Ft,zt,ct,lt,yt,_t],styles:[".wrap[_ngcontent-%COMP%]{height:100%;min-height:0;display:flex;flex-direction:column;gap:12px}.bar[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:12px}.left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px;min-width:0}.label[_ngcontent-%COMP%]{opacity:.8}.hint[_ngcontent-%COMP%]{opacity:.75;max-width:520px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ok[_ngcontent-%COMP%]{color:#52c41a}.grid[_ngcontent-%COMP%]{flex:1 1 auto;min-height:0;display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1.2fr);gap:12px}@media (max-width: 1100px){.grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.panel[_ngcontent-%COMP%]{border:1px solid rgba(15,23,42,.12);border-radius:20px;min-height:0;display:flex;flex-direction:column;background:#ffffff05}.panel-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid rgba(15,23,42,.12)}.panel-title[_ngcontent-%COMP%]{display:flex}.panel-title.column[_ngcontent-%COMP%]{flex-direction:column}.panel-title[_ngcontent-%COMP%] .text[_ngcontent-%COMP%]{font-size:14px;font-weight:500}.panel-title[_ngcontent-%COMP%] .sub-text[_ngcontent-%COMP%]{font-size:12px;opacity:.75}.search[_ngcontent-%COMP%]{width:240px}.icon-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;overflow:auto;padding:12px}.icon-card[_ngcontent-%COMP%]{cursor:pointer;border:1px solid rgba(255,255,255,.06);border-radius:14px;background:#00000080;transition:transform .08s ease,border-color .08s ease;-webkit-user-select:none;user-select:none;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:12px 16px}.icon-card[_ngcontent-%COMP%]:hover{transform:translateY(-1px);border-color:#ffffffe6}.thumb[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center}.thumb[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{min-width:32px;min-height:32px}.meta[_ngcontent-%COMP%] .name[_ngcontent-%COMP%]{font-size:12px;opacity:.9}.meta[_ngcontent-%COMP%] .cls[_ngcontent-%COMP%]{font-size:12px;opacity:.65}.meta[_ngcontent-%COMP%]{position:relative}.meta[_ngcontent-%COMP%] nz-badge[_ngcontent-%COMP%]{position:absolute;top:-12px;right:0}.sprite-content[_ngcontent-%COMP%]{padding:16px 16px 0}.css-content[_ngcontent-%COMP%]{padding:12px;line-height:1.5;flex:1 1 auto;overflow:hidden}"]})};function jn(i){return i.replaceAll("&","&amp;").replaceAll("<","&lt;").replaceAll(">","&gt;")}var mi=(i,t)=>t.dir,di=(i,t)=>t.url;function fi(i,t){i&1&&g(0,"nz-empty",4)}function gi(i,t){i&1&&g(0,"nz-icon",9)}function hi(i,t){if(i&1){let e=A();r(0,"nz-tag",8),P("click",function(){let o=x(e).$implicit,s=v(2);return b(s.loadDir(o))}),c(1),a(),I(2,gi,1,0,"nz-icon",9)}if(i&2){let e=t.$implicit,n=t.$index,o=v(2);p(),te(" ",e.label," "),p(),T(n<o.dirStack.length-1?2:-1)}}function Ci(i,t){if(i&1&&g(0,"img",11),i&2){let e=v().$implicit;y("nzSrc",e.url)("nzFallback","/images/placeholder.png")("nzPlaceholder","/images/placeholder.png")("alt",e.name)}}function vi(i,t){if(i&1){let e=A();r(0,"div",16),P("click",function(){x(e);let o=v().$implicit,s=v(2);return b(s.openDir(o))}),g(1,"nz-icon",17),a()}}function Si(i,t){if(i&1&&(r(0,"div",15),c(1),a()),i&2){let e=v().$implicit;p(),te("\u5171",e.fileCount," \u5F20\u56FE\u7247")}}function _i(i,t){if(i&1&&(r(0,"div",7)(1,"div",10),I(2,Ci,1,4,"img",11)(3,vi,2,0,"div",12),a(),r(4,"div",13)(5,"div",14),c(6),a(),I(7,Si,2,1,"div",15),a()()),i&2){let e=t.$implicit;p(2),T(e.kind==="file"?2:3),p(4),k(e.name),p(),T(e.kind==="dir"&&e.fileCount!==void 0?7:-1)}}function yi(i,t){if(i&1&&(r(0,"div",5),pe(1,hi,3,2,null,null,mi),a(),r(3,"nz-image-group")(4,"div",6),pe(5,_i,8,3,"div",7,di),a()()),i&2){let e=v();p(),le(e.dirStack),p(4),le(e.images())}}var Nt=class i{sprite=null;api=z(_e);clipboard=z(je);msg=z(Be);currentDir=F("");dirStack=[{label:"\u6839\u76EE\u5F55",dir:""}];cachedImages=F([]);imagesCount=W(()=>this.images().filter(t=>t.kind==="file").length);keyword=F("");ngOnInit(){}ngOnChanges(t){let e=t.sprite.currentValue;e&&(this.dirStack=[{label:"\u6839\u76EE\u5F55",dir:""}],this.loadImages(e.projectId))}images=W(()=>{let t=this.keyword().trim().toLowerCase();return t?this.cachedImages().filter(e=>e.name.toLowerCase().includes(t)):this.cachedImages()});loadImages(t,e=""){this.keyword.set(""),this.currentDir.set(e),this.api.browseImages(t,e).subscribe(n=>{this.cachedImages.set(n.entries)})}loadDir(t){if(!this.sprite?.projectId)return;let e=this.dirStack.findIndex(n=>n.dir===t.dir);e>=0&&(this.dirStack=this.dirStack.slice(0,e+1)),this.loadImages(this.sprite.projectId,t.dir)}openDir(t){if(!this.sprite?.projectId||t.kind!=="dir")return;let e=String(t.name??"").trim();if(!e)return;let n=this.currentDir(),o=n?`${n}/${e}`:e;this.dirStack=[...this.dirStack,{label:e,dir:o}],this.loadImages(this.sprite.projectId,o)}copy(t){this.clipboard.copy(t),this.msg.success("\u5DF2\u590D\u5236\u56FE\u7247 URL")}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=O({type:i,selectors:[["app-sprite-images-panel"]],inputs:{sprite:"sprite"},features:[qe],decls:7,vars:3,consts:[[1,"wrap"],[1,"header"],["nz-input","","placeholder","\u641C\u7D22\u6587\u4EF6\u540D",3,"ngModelChange","ngModel"],[1,"count"],["nzNotFoundContent","\u6682\u65E0\u56FE\u7247\u5217\u8868"],[1,"dir-stack"],[1,"img-grid"],[1,"img-card"],["color","blue",1,"dir-item",3,"click"],["nzType","right","nzTheme","outline"],[1,"thumb"],["nz-image","","loading","lazy",3,"nzSrc","nzFallback","nzPlaceholder","alt"],["title","\u76EE\u5F55",1,"dir"],[1,"meta"],[1,"name"],[1,"file-count"],["title","\u76EE\u5F55",1,"dir",3,"click"],["nzType","folder","nzTheme","fill"]],template:function(e,n){e&1&&(r(0,"div",0)(1,"div",1)(2,"input",2),$("ngModelChange",function(s){return j(n.keyword,s)||(n.keyword=s),s}),a(),r(3,"div",3),c(4),a()(),I(5,fi,1,0,"nz-empty",4)(6,yi,7,0),a()),e&2&&(p(2),B("ngModel",n.keyword),p(2),te(" \u5171 ",n.imagesCount()," \u5F20\u56FE\u7247 "),p(),T(n.cachedImages().length===0?5:6))},dependencies:[N,Y,Oe,ie,oe,Ce,he,H,de,U,me,Z,ge,Se,bn,yt,_t,Tn],styles:[".wrap[_ngcontent-%COMP%]{height:100%;min-height:0;overflow-y:auto;padding:12px}.header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.header[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{font-size:14px;opacity:.45;flex:0 0 auto;white-space:nowrap}.dir-stack[_ngcontent-%COMP%]{display:flex;align-items:center;gap:6px;margin-bottom:12px;flex-wrap:wrap}.dir-item[_ngcontent-%COMP%]{cursor:pointer}.img-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;overflow:auto;padding-right:4px}.img-card[_ngcontent-%COMP%]{border:1px solid rgba(255,255,255,.08);border-radius:16px;overflow:hidden;background:#ffffff05;display:flex;flex-direction:column}.thumb[_ngcontent-%COMP%]{height:160px;background:#0000002e;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none}.thumb[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{max-width:100%;max-height:100%;object-fit:contain;cursor:pointer}.thumb[_ngcontent-%COMP%] img[_ngcontent-%COMP%]:focus, .thumb[_ngcontent-%COMP%]:focus{outline:none}.thumb[_ngcontent-%COMP%] .dir[_ngcontent-%COMP%]{color:#fff9;font-size:56px;cursor:pointer}.meta[_ngcontent-%COMP%]{padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:#0000000a}.name[_ngcontent-%COMP%]{font-size:14px;opacity:.85;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-count[_ngcontent-%COMP%]{font-size:14px;opacity:.45;flex:0 0 auto;white-space:nowrap}"]})};function bi(i,t){if(i&1&&g(0,"app-step-basic",10),i&2){let e=v();y("draft",e.draft())}}function Mi(i,t){if(i&1&&g(0,"app-step-advance",10),i&2){let e=v();y("draft",e.draft())}}function wi(i,t){if(i&1){let e=A();r(0,"button",16),P("click",function(){x(e);let o=v();return b(o.cancel())}),g(1,"nz-icon",17),c(2," \u53D6\u6D88 "),a()}}function Ei(i,t){if(i&1){let e=A();r(0,"button",16),P("click",function(){x(e);let o=v();return b(o.prev())}),g(1,"nz-icon",18),c(2," \u4E0A\u4E00\u6B65 "),a()}}function zi(i,t){if(i&1){let e=A();r(0,"button",19),P("click",function(){x(e);let o=v();return b(o.create())}),g(1,"nz-icon",20),c(2," \u786E\u5B9A "),a()}}function Fi(i,t){if(i&1){let e=A();r(0,"button",21),P("click",function(){x(e);let o=v();return b(o.next())}),c(1," \u4E0B\u4E00\u6B65 "),g(2,"nz-icon",22),a()}if(i&2){let e=v();y("disabled",!e.canNext())}}var Dt=class i{step=F(0);creating=F(!1);draft=F({name:"",iconSvnPath:"",otherImagesSvnPath:"",localDir:""});nzModalData=z(pn);modalRef=z(ln);modal=z(ot);state=z($e);notify=z(fn);constructor(){let t=this.state.project();if(t){let e=t.assets?.iconsSvn?.url||"",n=t.assets?.iconsSvn?.id||"",o=t.assets?.cutImageSvn?.url||"",s=this.nzModalData.cfg;this.draft.update(l=>(l.name=t.name,l.sourceId=n,l.iconSvnPath=e,l.otherImagesSvnPath=o,l.localDir=s?.localDir||"",l.cssPrefix=s?.prefix||"sl",l.spriteUrl=s?.spriteUrl||"/assets/icons/{group}.png",l.template=s?.template||'<i class="{base} {class}"></i>',l.spriteExportDir=s?.spriteExportDir||"",l.lessExportDir=s?.lessExportDir||"",l.localImageRoot=s?.localImageRoot||"",l))}}canNext(){let t=this.step(),e=this.draft();if(t===0){let n=e.iconSvnPath?.trim(),o=e.localImageRoot?.trim();return!(!n&&!o)}return!0}next(){this.step.update(t=>t+1)}prev(){this.step.update(t=>t-1)}canCreateHere(){return this.step()===1}async create(){if(this.creating())return;this.creating.set(!0);let t=this.draft(),e={};if(t.iconSvnPath?.trim()&&(e.iconsSvn={kind:"svn",url:t.iconSvnPath,label:"icons",mode:"manual",localDir:t.localDir,id:t.sourceId}),t.otherImagesSvnPath){let s=this.state.project()?.assets?.cutImageSvn?.id||"";e.cutImageSvn={kind:"svn",url:t.otherImagesSvnPath,label:"images",mode:"manual",localDir:t.localDir,id:s}}let n={enabled:!0,persistLess:!0,localDir:t.localDir,localImageRoot:t.localImageRoot||void 0,template:t.template||'<i class="{base} {class}"></i>',prefix:t.cssPrefix||"sl",sourceId:t.sourceId||"",spriteUrl:t.spriteUrl||"/assets/icons/{group}.png",algorithm:"binary-tree",spriteExportDir:t.spriteExportDir||"",lessExportDir:t.lessExportDir||""},o=await this.state.createConfig(e,n);this.creating.set(!1),this.notify.success("\u914D\u7F6E\u5DF2\u4FDD\u5B58"),this.modalRef.close({ok:!0,cfg:o})}cancel(){this.modalRef.close()}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=O({type:i,selectors:[["app-sprite-conf-modal"]],decls:19,vars:7,consts:[["nz-row","","nzJustify","center"],["nz-col","","nzSpan","16"],[3,"nzCurrent"],["nzTitle","\u8BE6\u60C5"],["nzTitle","\u914D\u7F6E"],["nz-row","","nzJustify","start"],["nz-col","","nzSpan","24"],[3,"nzSpinning"],[1,"content"],[1,"main"],[3,"draft"],[1,"actions"],["nz-button",""],["nz-button","","nzType","primary"],["nz-button","","nzType","primary",3,"disabled"],[1,"aside"],["nz-button","",3,"click"],["nzType","close","nzTheme","outline"],["nzType","arrow-left","nzTheme","outline"],["nz-button","","nzType","primary",3,"click"],["nzType","check","nzTheme","outline"],["nz-button","","nzType","primary",3,"click","disabled"],["nzType","arrow-right","nzTheme","outline"]],template:function(e,n){if(e&1&&(r(0,"div",0)(1,"div",1)(2,"nz-steps",2),g(3,"nz-step",3)(4,"nz-step",4),a()()(),r(5,"div",5)(6,"div",6)(7,"nz-spin",7)(8,"div",8)(9,"div",9),I(10,bi,1,1,"app-step-basic",10)(11,Mi,1,1,"app-step-advance",10),r(12,"div",11),I(13,wi,3,0,"button",12),I(14,Ei,3,0,"button",12),I(15,zi,3,0,"button",13)(16,Fi,3,1,"button",14),a()(),r(17,"div",15),g(18,"app-step-summary-aside",10),a()()()()()),e&2){let o;p(2),y("nzCurrent",n.step()),p(5),y("nzSpinning",n.creating()),p(3),T((o=n.step())===0?10:o===1?11:-1),p(3),T(n.step()===0?13:-1),p(),T(n.step()>0?14:-1),p(),T(n.canCreateHere()?15:16),p(3),y("draft",n.draft())}},dependencies:[N,Y,cn,fe,ke,Te,Ie,Nn,Pn,Fn,H,Ne,de,it,Z,U,me,mt,xn,bt,wt,Et],styles:[".content[_ngcontent-%COMP%]{display:grid;grid-template-columns:1fr 360px;gap:16px;margin-top:16px}.main[_ngcontent-%COMP%]{min-height:420px}.actions[_ngcontent-%COMP%]{display:flex;gap:8px;justify-content:flex-end;margin-top:18px}.aside[_ngcontent-%COMP%]{position:sticky;top:16px;height:fit-content}"]})};function Pi(i,t){if(i&1&&g(0,"app-sprite-icons-panel",5),i&2){let e=v();y("sprite",e.sprite())}}function Ni(i,t){if(i&1&&g(0,"app-sprite-images-panel",5),i&2){let e=v();y("sprite",e.sprite())}}function Di(i,t){if(i&1&&g(0,"app-sprite-icons-panel",5),i&2){let e=v(2);y("sprite",e.localSprite())}}function Ii(i,t){i&1&&g(0,"nz-empty",6)}function Ti(i,t){if(i&1&&I(0,Di,1,1,"app-sprite-icons-panel",5)(1,Ii,1,0,"nz-empty",6),i&2){let e=v();T(e.localSprite()?0:1)}}var It=class i{sprite=Le(null);localSprite=Le(null);tabIndex=0;static \u0275fac=function(e){return new(e||i)};static \u0275cmp=O({type:i,selectors:[["app-sprite-result-tabs"]],inputs:{sprite:[1,"sprite"],localSprite:[1,"localSprite"]},decls:7,vars:1,consts:[[3,"nzSelectedIndexChange","nzSelectedIndex"],["nzTitle","SVN \u56FE\u6807"],["nz-tab",""],["nzTitle","SVN \u56FE\u7247"],["nzTitle","\u672C\u5730\u56FE\u6807"],[3,"sprite"],["nzNotFoundContent","\u672A\u914D\u7F6E\u672C\u5730\u56FE\u7247\u6587\u4EF6\u5939"]],template:function(e,n){e&1&&(r(0,"nz-tabs",0),$("nzSelectedIndexChange",function(s){return j(n.tabIndex,s)||(n.tabIndex=s),s}),r(1,"nz-tab",1),Pe(2,Pi,1,1,"ng-template",2),a(),r(3,"nz-tab",3),Pe(4,Ni,1,1,"ng-template",2),a(),r(5,"nz-tab",4),Pe(6,Ti,2,1,"ng-template",2),a()()),e&2&&B("nzSelectedIndex",n.tabIndex)},dependencies:[N,zn,En,wn,Mn,Ce,he,ve,Se,Nt,Pt],styles:["[_nghost-%COMP%]{display:block;height:100%}[_nghost-%COMP%] nz-tabs[_ngcontent-%COMP%]{height:100%}[_nghost-%COMP%] nz-tabs[_ngcontent-%COMP%] .ant-tabs-content-holder{height:100%}[_nghost-%COMP%] nz-tabs[_ngcontent-%COMP%] .ant-tabs-content-holder .ant-tabs-content{height:100%}[_nghost-%COMP%] nz-tabs[_ngcontent-%COMP%] .ant-tabs-content-holder .ant-tabs-content .ant-tabs-tabpane{height:100%}"]})};var Kt=Yn($n());function ki(i,t){if(i&1){let e=A();r(0,"button",16),P("click",function(){x(e);let o=v(2);return b(o.streamCheckout())}),g(1,"nz-icon",17),r(2,"span"),c(3),a()()}if(i&2){let e=v(2);p(3),te("\u540C\u6B65 ",e.lastSyncAt())}}function Oi(i,t){if(i&1){let e=A();r(0,"button",13),P("click",function(){x(e);let o=v();return b(o.generate())}),g(1,"nz-icon",14),r(2,"span"),c(3,"\u751F\u6210\u96EA\u78A7\u56FE"),a()(),I(4,ki,4,1,"button",15)}if(i&2){let e=v();p(4),T(e.hasSvnSource()?4:-1)}}function Ai(i,t){if(i&1&&g(0,"nz-empty",10),i&2){v();let e=Bt(14),n=Bt(16);y("nzNotFoundContent",e)("nzNotFoundFooter",n)}}function Bi(i,t){if(i&1&&g(0,"app-sprite-result-tabs",11),i&2){let e=v();y("sprite",e.sprite())("localSprite",e.localSprite())}}function ji(i,t){i&1&&(r(0,"span"),c(1,"\u6682\u65E0\u96EA\u78A7\u56FE\u914D\u7F6E\uFF0C\u70B9\u51FB\u53F3\u4E0A\u89D2\u201C"),g(2,"nz-icon",7),c(3,"\u201D \u65B0\u589E\u914D\u7F6E"),a())}function $i(i,t){if(i&1){let e=A();r(0,"button",18),P("click",function(){x(e);let o=v();return b(o.openSettingModal())}),c(1,"\u7ACB\u5373\u65B0\u589E"),a()}}var Tt=class i{isDrawerOpen=!1;loading=F(!1);cfg=F(null);lastSyncAt=F("N/A");sub=new Ge;state=z($e);modal=z(ot);svnStream=z(xt);term;sprite=F(null);localSprite=F(null);async ngOnInit(){if(await this.loadConfig(),this.isEmpty())return;let t=this.state.project()?.id;if(!t)return;let e=await this.state.getSvnRuntimes();e?.length&&(e.forEach(o=>{let s=o.lastSyncAt?(0,Kt.default)(o.lastSyncAt).format("YYYY-MM-DD HH:mm:ss"):"N/A",l=o.lastStderr?"\u5931\u8D25":"\u6210\u529F",h=o.desiredUrl?`${o.desiredUrl}`:"No desired URL";this.term?.writeln(`[\u66F4\u65B0\u65F6\u95F4]: ${s}`),this.term?.writeln(`[\u66F4\u65B0\u72B6\u6001]: ${l}`),this.term?.writeln(`[SVN \u8DEF\u5F84]: ${h}`),this.term?.writeln("-----------------------------")}),this.updateLastSyncAt(e));let n=await this.state.getSprites();if(this.sprite.set(n),this.cfg()?.localImageRoot){let o=await this.state.getLocalSprites();this.localSprite.set(o)}this.sub.add(this.svnStream.watchProject(t,1e3)),this.sub.add(this.svnStream.runtimes$(t).subscribe(o=>{this.updateLastSyncAt(o)})),this.sub.add(this.svnStream.output$(t).subscribe(o=>{this.term&&this.term.write(o.text)}))}ngOnDestroy(){this.term&&this.term.clear(),this.sub.unsubscribe()}isEmpty=W(()=>{let t=this.cfg(),e=this.state.project(),n=t&&(e?.assets?.iconsSvn||t?.sourceId),o=!!t?.localImageRoot;return!n&&!o});hasSvnSource=W(()=>{let t=this.cfg(),e=this.state.project();return!!(t&&(e?.assets?.iconsSvn||t?.sourceId))});async loadConfig(){try{this.loading.set(!0);let t=await this.state.loadConfig();this.cfg.set(t),this.loading.set(!1)}catch{this.loading.set(!1)}}async generate(){this.loading.set(!0),await this.state.generate();let t=await this.state.getSprites();if(this.sprite.set(t),this.cfg()?.localImageRoot){let e=await this.state.getLocalSprites();this.localSprite.set(e)}else this.localSprite.set(null);this.loading.set(!1)}async checkout(){this.loading.set(!0);let t=await this.state.checkout();this.loading.set(!1)}async streamCheckout(){if(this.hasSvnSource())try{this.loading.set(!0),this.isDrawerOpen=!0,await this.state.streamCheckout();let t=await this.state.getSvnRuntimes();this.updateLastSyncAt(t)}finally{this.loading.set(!1)}}updateLastSyncAt(t){let e=this.cfg()?.sourceId;if(!e)return;let n=t.find(o=>o.sourceId===e&&o.lastSyncAt);n?.lastSyncAt&&this.lastSyncAt.set((0,Kt.default)(n.lastSyncAt).format("YYYY-MM-DD HH:mm:ss"))}openSettingModal(){let t=this.modal.create({nzTitle:"\u96EA\u78A7\u56FE\u914D\u7F6E",nzFooter:null,nzKeyboard:!1,nzMaskClosable:!1,nzClosable:!0,nzContent:Dt,nzData:{cfg:this.cfg()},nzWidth:"1020px",nzCentered:!0}),e=t.getContentComponent();t.afterClose.subscribe(n=>{n?.ok&&this.loadConfig()})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=O({type:i,selectors:[["app-sprite"]],viewQuery:function(e,n){if(e&1&&Je(Vt,5),e&2){let o;Xe(o=Ze())&&(n.term=o.first)}},decls:17,vars:12,consts:[["contentTpl",""],["footerTpl",""],[3,"title","loading","isFullscreen","isOverflowYAuto"],["ngProjectAs","actions",5,["actions"]],["nz-button","","nzType","text","nz-tooltip","","nzTooltipTitle","\u67E5\u770B\u65E5\u5FD7",3,"click"],["nzType","desktop","nzTheme","outline"],["nz-button","","nzType","text","nz-tooltip","","nzTooltipTitle","\u914D\u7F6E\u96EA\u78A7\u56FE",3,"click"],["nzType","setting","nzTheme","outline"],[1,"page"],[1,"content"],[3,"nzNotFoundContent","nzNotFoundFooter"],[3,"sprite","localSprite"],[1,"aside"],["nz-button","","nzType","primary","nz-tooltip","","nzTooltipTitle","\u751F\u6210\u96EA\u78A7\u56FE",3,"click"],["nzType","play-circle","nzTheme","outline"],["nz-button","","nzType","primary","nz-tooltip","","nzTooltipTitle","\u4ECEsvn\u66F4\u65B0\u8D44\u6E90"],["nz-button","","nzType","primary","nz-tooltip","","nzTooltipTitle","\u4ECEsvn\u66F4\u65B0\u8D44\u6E90",3,"click"],["nzType","sync","nzTheme","outline"],["nz-button","","nzType","primary",3,"click"]],template:function(e,n){if(e&1){let o=A();r(0,"app-page-layout",2),tn(1,3),I(2,Oi,5,1),r(3,"button",4),P("click",function(){return x(o),b(n.isDrawerOpen=!n.isDrawerOpen)}),g(4,"nz-icon",5),a(),r(5,"button",6),P("click",function(){return x(o),b(n.openSettingModal())}),g(6,"nz-icon",7),a(),nn(),r(7,"div",8)(8,"div",9),I(9,Ai,1,2,"nz-empty",10)(10,Bi,1,2,"app-sprite-result-tabs",11),a(),r(11,"div",12),g(12,"app-terminal-view"),a()()(),Pe(13,ji,4,0,"ng-template",null,0,jt)(15,$i,2,0,"ng-template",null,1,jt)}e&2&&(y("title","\u96EA\u78A7\u56FE")("loading",n.loading())("isFullscreen",!0)("isOverflowYAuto",!1),p(2),T(n.isEmpty()?-1:2),p(6),we("empty",n.isEmpty()),p(),T(n.isEmpty()?9:10),p(2),we("open",n.isDrawerOpen),p(),ne("height",100,"%"))},dependencies:[N,Y,ke,H,Ne,de,it,Z,U,me,re,Ae,Se,mt,Dn,_n,dn,mn,Ce,he,rt,Vt,It],styles:[".page[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:row;overflow:hidden;gap:16px;padding:0 16px}.content[_ngcontent-%COMP%]{flex:1 1 auto;width:0;display:flex;flex-direction:column;height:100%;overflow:hidden}.content.empty[_ngcontent-%COMP%]{justify-content:center}.aside[_ngcontent-%COMP%]{width:0;flex:0 0 auto;height:100%;padding:16px;background:#000;transition:transform .2s ease;transform:translate(150%)}.aside.open[_ngcontent-%COMP%]{width:400px;transform:translate(0)}"]})};var Vi=[{path:"",component:Tt}],kt=class i{static \u0275fac=function(e){return new(e||i)};static \u0275mod=Qe({type:i});static \u0275inj=Ke({imports:[$t.forChild(Vi),$t]})};var Vn=class i{static \u0275fac=function(e){return new(e||i)};static \u0275mod=Qe({type:i});static \u0275inj=Ke({imports:[N,kt]})};export{Vn as SpriteModule};
@@ -0,0 +1 @@
1
+ import{h as t}from"./chunk-WUA5JFDD.js";import"./chunk-KRYMOHYF.js";import{Gb as n,oa as e}from"./chunk-4BRW6LCZ.js";var m=[{path:"",loadComponent:()=>import("./chunk-EEDA5U4V.js").then(o=>o.AboutComponent)},{path:"feedback",loadComponent:()=>import("./chunk-AZ6SIMYH.js").then(o=>o.FeedbackComponent)}],i=class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=n({type:o});static \u0275inj=e({imports:[t.forChild(m),t]})};export{i as AboutRoutingModule};
@@ -0,0 +1 @@
1
+ import{a as ut,b as gt}from"./chunk-3M56F2S2.js";import{C as bt,a as pi,b as ci,c as ft,d as ui,e as gi,f as ht,m as fi,n as X,o as ue,p as yt,q as Q,r as _t,s as hi,t as vt,u as De,v as yi,w as we,x as _i,y as Ct,z as vi}from"./chunk-2L7NUOMX.js";import"./chunk-DE6E23ET.js";import"./chunk-7U44RF5F.js";import{a as Gn,b as Yn,c as Xn,d as Zn,e as ei,f as ti,g as ni,h as ii,i as ri,j as pt}from"./chunk-AMXRL4GR.js";import{a as qn,b as dt}from"./chunk-HDNG236Q.js";import{a as Re,b as ce,c as oi,d as ai,e as si}from"./chunk-HUMCWAKJ.js";import{a as li,b as di,c as mi,e as ct}from"./chunk-DIJPUYIA.js";import{a as wn,b as En,c as Tn}from"./chunk-WD2EKZQC.js";import{a as Wn,b as Qn,c as mt}from"./chunk-75W3GVSO.js";import"./chunk-OZCK4XVV.js";import{a as Jn,b as Kn}from"./chunk-AELTP6YN.js";import{a as K,b as H}from"./chunk-HJTXXSMC.js";import"./chunk-FXCG34QS.js";import{a as Dn,b as ze}from"./chunk-RGOYDY7H.js";import{a as $n,c as ot,d as at,e as st,f as Pe}from"./chunk-3XNNQFWR.js";import{b as Nn,c as On,e as Ln,g as Hn}from"./chunk-YNW4HEJO.js";import{a as Un,b as lt}from"./chunk-K7PESFPY.js";import{h as ve,i as Je,j as Ke,k as Ce,l as be}from"./chunk-4X42HB6N.js";import"./chunk-AV2ZODEH.js";import{k as it,m as rt,n as Se}from"./chunk-2NZJ7CN2.js";import{Cb as An,Fb as Ie,Ga as he,Ha as Y,Hb as me,Ib as Xe,Kb as kn,L as ke,Lb as pe,Mb as Ze,Pa as de,Pb as Fn,Qa as ye,Qb as Bn,Sa as _e,T as Mn,Ta as B,Ub as et,V as xn,Vb as L,Wb as tt,Y as Ye,_b as Vn,a as zn,aa as Xt,ac as Me,ba as Sn,c as In,cc as jn,dc as J,ea as Pn,fa as Rn,ga as Fe,gc as xe,ic as nt}from"./chunk-3CM4SKDO.js";import"./chunk-HFZLJHYR.js";import{c as Cn,e as bn,h as Kt}from"./chunk-WUA5JFDD.js";import{g as vn,h as Ge,m as W,n as N}from"./chunk-KRYMOHYF.js";import{$b as D,Ac as Ue,B as Ne,Da as dn,Ec as U,Fb as z,Fc as se,Gb as re,Gc as ee,Ha as I,Hc as Oe,I as Ve,Jc as d,Kc as v,L as je,Lb as A,Lc as b,M as Wt,Mc as gn,Oa as fe,Oc as qe,Pc as We,Q as an,Qc as Qe,Ra as mn,V as Qt,Wb as M,Xc as fn,Yb as x,Yc as hn,Zc as Ae,_c as yn,a as V,ac as w,ad as k,b as ge,bc as p,cc as a,cd as F,dc as o,dd as q,ec as g,fa as sn,ha as Gt,hc as Le,ic as oe,id as y,jb as pn,jc as ae,jd as le,kb as Yt,lc as E,ma as ln,mc as un,na as ne,nb as s,nd as P,oa as ie,od as c,rc as _,sa as S,sb as cn,sd as _n,t as qt,uc as u,ud as Jt,ya as f,yc as He,yd as O,za as h,zc as $e,zd as te}from"./chunk-4BRW6LCZ.js";var Ci=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=re({type:i});static \u0275inj=ie({})}return i})();var Oi=(i,t)=>t.id;function Ai(i,t){if(i&1&&g(0,"nz-option",4),i&2){let e=t.$implicit;p("nzLabel",e.name)("nzValue",e.id)}}function ki(i,t){i&1&&(a(0,"p",5),d(1,"\u63D0\u793A\uFF1A\u5F53\u524D\u9879\u76EE\u6CA1\u6709\u53EF\u63A8\u8FDB\u7684\u540E\u7EED\u9636\u6BB5\u3002"),o())}function Fi(i,t){if(i&1){let e=E();a(0,"p",2),d(1," \u5F53\u524D\u7814\u53D1\u9879\uFF1A"),a(2,"strong"),d(3),o()(),a(4,"nz-select",3),_("ngModelChange",function(r){f(e);let l=u(2);return h(l.selectedStageId.set(r||""))}),D(5,Ai,1,2,"nz-option",4,Oi),o(),M(7,ki,2,0,"p",5)}if(i&2){let e=u(2);s(3),v(t.title),s(),p("ngModel",e.selectedStageId()),s(),w(e.candidateStages()),s(2),x(e.candidateStages().length===0?7:-1)}}function Bi(i,t){if(i&1&&(oe(0),M(1,Fi,8,3),ae()),i&2){let e,n=u();s(),x((e=n.item())?1:-1,e)}}var zt=class i{open=c(!1);busy=c(!1);item=c(null);stages=c([]);confirm=P();cancel=P();selectedStageId=I("");candidateStages=y(()=>{let t=this.item(),e=[...this.stages()].sort((r,l)=>r.sort-l.sort);if(!t)return[];if(!t.stageId)return e;let n=e.find(r=>r.id===t.stageId);return n?e.filter(r=>r.sort>n.sort):e});constructor(){le(()=>{if(!this.open()){this.selectedStageId.set("");return}let t=this.candidateStages()[0];this.selectedStageId.set(t?.id??"")})}confirmSelection(){let t=this.selectedStageId().trim();t&&this.confirm.emit({stageId:t})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-advance-stage-dialog"]],inputs:{open:[1,"open"],busy:[1,"busy"],item:[1,"item"],stages:[1,"stages"]},outputs:{confirm:"confirm",cancel:"cancel"},decls:2,vars:6,consts:[[3,"nzOnCancel","nzOnOk","nzVisible","nzTitle","nzOkText","nzCancelText","nzOkLoading","nzOkDisabled"],[4,"nzModalContent"],[1,"hint"],["nzShowSearch","","nzPlaceHolder","\u9009\u62E9\u4E0B\u4E00\u9636\u6BB5",1,"stage-select",3,"ngModelChange","ngModel"],[3,"nzLabel","nzValue"],[1,"empty"]],template:function(e,n){e&1&&(a(0,"nz-modal",0),_("nzOnCancel",function(){return n.cancel.emit()})("nzOnOk",function(){return n.confirmSelection()}),A(1,Bi,2,1,"ng-container",1),o()),e&2&&p("nzVisible",n.open())("nzTitle","\u8FDB\u5165\u4E0B\u4E00\u9636\u6BB5")("nzOkText","\u786E\u8BA4\u63A8\u8FDB")("nzCancelText","\u53D6\u6D88")("nzOkLoading",n.busy())("nzOkDisabled",n.busy()||!n.selectedStageId())},dependencies:[be,Ce,ve,Pe,at,st,B,L,me,pe],styles:[".stage-select[_ngcontent-%COMP%]{width:100%}.empty[_ngcontent-%COMP%]{font-size:.8rem;color:gray;text-align:right}"]})};function Vi(i,t){if(i&1&&(a(0,"div")(1,"div",4)(2,"span"),d(3,"\u6807\u8BB0\u4E3A\u963B\u585E"),o(),a(4,"div",5),d(5),o()()()),i&2){let e=u();s(5),b(" ",e.item()?e.item().title:"\u8BB0\u5F55\u5F53\u524D\u7814\u53D1\u9879\u7684\u963B\u585E\u539F\u56E0\u3002"," ")}}function ji(i,t){if(i&1){let e=E();oe(0),a(1,"form",6),_("ngSubmit",function(){f(e);let r=u();return h(r.submitForm())}),a(2,"textarea",7),_("ngModelChange",function(r){f(e);let l=u();return h(l.reason.set(r))}),o()(),ae()}if(i&2){let e=u();s(2),p("ngModel",e.reason())}}function Li(i,t){if(i&1){let e=E();oe(0),a(1,"button",8),_("click",function(){f(e);let r=u();return h(r.cancel.emit())}),d(2,"\u53D6\u6D88"),o(),a(3,"button",9),_("click",function(){f(e);let r=u();return h(r.submitForm())}),d(4," \u786E\u8BA4\u963B\u585E "),o(),ae()}if(i&2){let e=u();s(3),p("disabled",!e.reason().trim())("nzLoading",e.busy())}}var It=class i{open=c(!0);busy=c(!1);item=c(null);confirm=P();cancel=P();reason=I("");constructor(){le(()=>{this.open()&&this.reason.set(this.item()?.blockerReason??"")})}submitForm(){let t=this.reason().trim();t&&this.confirm.emit({blockerReason:t})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-block-dialog"]],inputs:{open:[1,"open"],busy:[1,"busy"],item:[1,"item"]},outputs:{confirm:"confirm",cancel:"cancel"},decls:4,vars:5,consts:[["nzTitle","\u6807\u8BB0\u4E3A\u963B\u585E",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\u963B\u585E\u539F\u56E0\u3002\u4F8B\u5982\uFF1A\u4F9D\u8D56\u7684\u63A5\u53E3\u5B9A\u4E49\u5C1A\u672A\u51BB\u7ED3\uFF0C\u65E0\u6CD5\u7EE7\u7EED\u8054\u8C03\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&&(a(0,"nz-modal",0),_("nzOnCancel",function(){return n.cancel.emit()})("nzOnOk",function(){return n.submitForm()}),A(1,Vi,6,1,"div",1)(2,ji,3,1,"ng-container",2)(3,Li,5,2,"ng-container",3),o()),e&2&&p("nzVisible",n.open())("nzWidth",640)("nzClosable",!0)("nzMaskClosable",!1)("nzOkLoading",n.busy())},dependencies:[be,Ce,Je,ve,Ke,L,Ze,Ie,me,Xe,pe,kn,B,_e,de,ye,J,Me],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 Ee=class i{canEditProgress(t,e){return!!t&&!!e&&!!t.assigneeId&&t.assigneeId===e}canStart(t,e){return this.canEditProgress(t,e)}canComplete(t,e){return this.canEditProgress(t,e)}canEditBasic(t,e,n){return!t||!e?!1:t.creatorId===e||t.assigneeId===e?!0:this.isProjectAdmin(e,n)}canDelete(t,e,n){return!t||!e?!1:t.creatorId===e?!0:this.isProjectAdmin(e,n)}canBlock(t,e,n){return!t||!e?!1:t.assigneeId===e?!0:this.isProjectAdmin(e,n)}canResume(t,e,n){return this.canBlock(t,e,n)}canAdvance(t,e,n){return!t||t.status!=="done"&&t.status!=="accepted"?!1:this.canEditBasic(t,e,n)}hasPermissionToRead(t){return!!t&&(t.scopes?.includes("rd:read")??!1)}hasPermissionToTransition(t){return!!t&&(t.scopes?.includes("rd:transition:write")??!1)}hasPermissionToEdit(t){return!!t&&(t.scopes?.includes("rd:edit:write")??!1)}hasPermissionToDelete(t){return!!t&&(t.scopes?.includes("rd:delete:write")??!1)}isProjectAdmin(t,e){let n=e.find(r=>r.userId===t);return!!n&&(n.roleCode==="project_admin"||n.isOwner)}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ne({token:i,factory:i.\u0275fac,providedIn:"root"})};var $i=["handle"],Ui=i=>({$implicit:i}),nn=(i,t)=>t.value;function qi(i,t){if(i&1&&Le(0,"span",1),i&2){let e=t.$implicit;Oe(e.style),ee("ant-slider-mark-active",e.active),un("innerHTML",e.label,pn)}}function Wi(i,t){if(i&1&&Le(0,"span",1),i&2){let e=t.$implicit;Oe(e.style),ee("ant-slider-dot-active",e.active)}}function Qi(i,t){if(i&1&&g(0,"nz-slider-step",2),i&2){let e=u();p("vertical",e.nzVertical)("min",e.nzMin)("max",e.nzMax)("lowerBound",e.bounds.lower)("upperBound",e.bounds.upper)("marksArray",e.marksArray)("included",e.nzIncluded)("reverse",e.nzReverse)}}function Gi(i,t){if(i&1){let e=E();a(0,"nz-slider-handle",4),_("focusin",function(){let r=f(e).$index,l=u();return h(l.onHandleFocusIn(r))}),o()}if(i&2){let e=t.$implicit,n=u();p("vertical",n.nzVertical)("reverse",n.nzReverse)("offset",e.offset)("value",e.value)("active",e.active)("tooltipFormatter",n.nzTipFormatter)("tooltipVisible",n.nzTooltipVisible)("tooltipPlacement",n.nzTooltipPlacement)("dragging",n.dragging())("dir",n.dir)}}function Yi(i,t){if(i&1&&g(0,"nz-slider-marks",2),i&2){let e=u();p("vertical",e.nzVertical)("min",e.nzMin)("max",e.nzMax)("lowerBound",e.bounds.lower)("upperBound",e.bounds.upper)("marksArray",e.marksArray)("included",e.nzIncluded)("reverse",e.nzReverse)}}var tn=(()=>{class i{cdr=S(Jt);handleEl;tooltip;vertical;reverse;offset;value;tooltipVisible="default";tooltipPlacement;tooltipFormatter;active=!1;dir="ltr";dragging;tooltipTitle;style={};ngOnChanges(e){let{offset:n,value:r,active:l,tooltipVisible:m,reverse:C,dir:R}=e;(n||C||R)&&this.updateStyle(),r&&(this.updateTooltipTitle(),this.updateTooltipPosition()),l&&(l.currentValue?this.toggleTooltip(!0):this.toggleTooltip(!1)),m?.currentValue==="always"&&Promise.resolve().then(()=>this.toggleTooltip(!0,!0))}enterHandle=()=>{this.dragging||(this.toggleTooltip(!0),this.updateTooltipPosition(),this.cdr.detectChanges())};leaveHandle=()=>{this.dragging||(this.toggleTooltip(!1),this.cdr.detectChanges())};focus(){this.handleEl?.nativeElement.focus()}toggleTooltip(e,n=!1){!n&&(this.tooltipVisible!=="default"||!this.tooltip)||(e?this.tooltip?.show():this.tooltip?.hide())}updateTooltipTitle(){this.tooltipFormatter?this.tooltipTitle=typeof this.tooltipFormatter=="function"?this.tooltipFormatter(this.value):this.tooltipFormatter:this.tooltipTitle=`${this.value}`}updateTooltipPosition(){this.tooltip&&Promise.resolve().then(()=>this.tooltip?.updatePosition())}updateStyle(){this.vertical?this.style={[this.reverse?"top":"bottom"]:`${this.offset}%`,[this.reverse?"bottom":"top"]:"auto",transform:this.reverse?null:"translateY(+50%)"}:this.style=ge(V({},this.getHorizontalStylePosition()),{transform:`translateX(${this.reverse?this.dir==="rtl"?"-":"+":this.dir==="rtl"?"+":"-"}50%)`}),this.cdr.markForCheck()}getHorizontalStylePosition(){let e=this.reverse?"auto":`${this.offset}%`,n=this.reverse?`${this.offset}%`:"auto";return this.dir==="rtl"&&([e,n]=[n,e]),{left:e,right:n}}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=z({type:i,selectors:[["nz-slider-handle"]],viewQuery:function(n,r){if(n&1&&(He($i,5),He(xe,5)),n&2){let l;$e(l=Ue())&&(r.handleEl=l.first),$e(l=Ue())&&(r.tooltip=l.first)}},hostBindings:function(n,r){n&1&&_("mouseenter",function(){return r.enterHandle()})("mouseleave",function(){return r.leaveHandle()})},inputs:{vertical:[2,"vertical","vertical",O],reverse:[2,"reverse","reverse",O],offset:[2,"offset","offset",Ye],value:[2,"value","value",Ye],tooltipVisible:"tooltipVisible",tooltipPlacement:"tooltipPlacement",tooltipFormatter:"tooltipFormatter",active:[2,"active","active",O],dir:"dir",dragging:"dragging"},exportAs:["nzSliderHandle"],features:[fe],decls:2,vars:8,consts:[["handle",""],["tabindex","0","nz-tooltip","",1,"ant-slider-handle",3,"nzTooltipTitle","nzTooltipTitleContext","nzTooltipTrigger","nzTooltipPlacement"]],template:function(n,r){n&1&&g(0,"div",1,0),n&2&&(Oe(r.style),p("nzTooltipTitle",r.tooltipFormatter===null||r.tooltipVisible==="never"?null:r.tooltipTitle)("nzTooltipTitleContext",Ae(6,Ui,r.value))("nzTooltipTrigger",null)("nzTooltipPlacement",r.tooltipPlacement))},dependencies:[nt,xe],encapsulation:2,changeDetection:0})}return i})(),Ji=(()=>{class i{lowerBound=null;upperBound=null;marksArray=[];min;max;vertical=!1;included=!1;reverse;marks=[];ngOnChanges(e){let{marksArray:n,lowerBound:r,upperBound:l,reverse:m}=e;(n||m)&&this.buildMarks(),(n||r||l||m)&&this.togglePointActive()}buildMarks(){let e=this.max-this.min;this.marks=this.marksArray.map(n=>{let{value:r,offset:l,config:m}=n,C=this.getMarkStyles(r,e,m);return{label:xi(m)?m.label:m,offset:l,style:C,value:r,config:m,active:!1}})}getMarkStyles(e,n,r){let l,m=this.reverse?this.max+this.min-e:e;return this.vertical?l={marginBottom:"-50%",bottom:`${(m-this.min)/n*100}%`}:l={transform:"translate3d(-50%, 0, 0)",left:`${(m-this.min)/n*100}%`},xi(r)&&r.style&&(l=V(V({},l),r.style)),l}togglePointActive(){this.marks&&this.lowerBound!==null&&this.upperBound!==null&&this.marks.forEach(e=>{let n=e.value;e.active=this.included?n<=this.upperBound&&n>=this.lowerBound:n===this.upperBound})}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=z({type:i,selectors:[["nz-slider-marks"]],hostAttrs:[1,"ant-slider-mark"],inputs:{lowerBound:"lowerBound",upperBound:"upperBound",marksArray:"marksArray",min:[2,"min","min",te],max:[2,"max","max",te],vertical:[2,"vertical","vertical",O],included:[2,"included","included",O],reverse:[2,"reverse","reverse",O]},exportAs:["nzSliderMarks"],features:[fe],decls:2,vars:0,consts:[[1,"ant-slider-mark-text",3,"ant-slider-mark-active","style","innerHTML"],[1,"ant-slider-mark-text",3,"innerHTML"]],template:function(n,r){n&1&&D(0,qi,1,5,"span",0,nn),n&2&&w(r.marks)},encapsulation:2,changeDetection:0})}return i})();function xi(i){return typeof i!="string"}var Ki=(()=>{class i{lowerBound=null;upperBound=null;marksArray=[];min;max;vertical=!1;included=!1;reverse;steps=[];ngOnChanges(e){let{marksArray:n,lowerBound:r,upperBound:l,reverse:m}=e;(n||m)&&this.buildSteps(),(n||r||l||m)&&this.togglePointActive()}buildSteps(){let e=this.vertical?"bottom":"left";this.steps=this.marksArray.map(n=>{let{value:r,config:l}=n,m=n.offset,C=this.max-this.min;return this.reverse&&(m=(this.max-r)/C*100),{value:r,offset:m,config:l,active:!1,style:{[e]:`${m}%`,transform:this.vertical?"translateY(50%)":"translateX(-50%)"}}})}togglePointActive(){this.steps&&this.lowerBound!==null&&this.upperBound!==null&&this.steps.forEach(e=>{let n=e.value;e.active=this.included?n<=this.upperBound&&n>=this.lowerBound:n===this.upperBound})}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=z({type:i,selectors:[["nz-slider-step"]],hostAttrs:[1,"ant-slider-step"],inputs:{lowerBound:"lowerBound",upperBound:"upperBound",marksArray:"marksArray",min:[2,"min","min",te],max:[2,"max","max",te],vertical:[2,"vertical","vertical",O],included:[2,"included","included",O],reverse:[2,"reverse","reverse",O]},exportAs:["nzSliderStep"],features:[fe],decls:2,vars:0,consts:[[1,"ant-slider-dot",3,"ant-slider-dot-active","style"],[1,"ant-slider-dot"]],template:function(n,r){n&1&&D(0,Wi,1,4,"span",0,nn),n&2&&w(r.steps)},encapsulation:2,changeDetection:0})}return i})(),Xi=(()=>{class i{offset=0;reverse=!1;dir="ltr";length=0;vertical=!1;included=!1;style={};ngOnChanges(){let e=this.included?"visible":"hidden";this.vertical?this.style={[this.reverse?"top":"bottom"]:`${this.offset}%`,[this.reverse?"bottom":"top"]:"auto",height:`${this.length}%`,visibility:e}:this.style=ge(V({},this.getHorizontalStylePosition()),{width:`${this.length}%`,visibility:e})}getHorizontalStylePosition(){let e=this.reverse?"auto":`${this.offset}%`,n=this.reverse?`${this.offset}%`:"auto";return this.dir==="rtl"&&([e,n]=[n,e]),{left:e,right:n}}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=z({type:i,selectors:[["nz-slider-track"]],inputs:{offset:[2,"offset","offset",te],reverse:[2,"reverse","reverse",O],dir:"dir",length:[2,"length","length",te],vertical:[2,"vertical","vertical",O],included:[2,"included","included",O]},exportAs:["nzSliderTrack"],features:[fe],decls:1,vars:2,consts:[[1,"ant-slider-track"]],template:function(n,r){n&1&&Le(0,"div",0),n&2&&Oe(r.style)},encapsulation:2,changeDetection:0})}return i})(),rn=(()=>{class i{slider=S(mn);destroyRef=S(dn);cdr=S(Jt);platform=S(In);directionality=S(zn);handlerComponents;nzDisabled=!1;nzDots=!1;nzIncluded=!0;nzRange=!1;nzVertical=!1;nzReverse=!1;nzDefaultValue;nzMarks=null;nzMax=100;nzMin=0;nzStep=1;nzTooltipVisible="default";nzTooltipPlacement="top";nzTipFormatter;nzOnAfterChange=new cn;value=null;cacheSliderStart=null;cacheSliderLength=null;activeValueIndex=void 0;track={offset:null,length:null};handles=[];marksArray=null;bounds={lower:null,upper:null};dir="ltr";dragging=I(!1);dragStart$;dragMove$;dragEnd$;dragStart_;dragMove_;dragEnd_;isNzDisableFirstChange=!0;ngOnInit(){this.dir=this.directionality.value,this.directionality.change?.pipe(ke(this.destroyRef)).subscribe(e=>{this.dir=e,this.cdr.detectChanges(),this.updateTrackAndHandles(),this.onValueChange(this.getValue(!0))}),this.handles=Si(this.nzRange?2:1),this.marksArray=this.nzMarks?this.generateMarkItems(this.nzMarks):null,this.bindDraggingHandlers(),this.toggleDragDisabled(this.nzDisabled),this.getValue()===null&&this.setValue(this.formatValue(null))}ngOnChanges(e){let{nzDisabled:n,nzMarks:r,nzRange:l}=e;n&&!n.firstChange?this.toggleDragDisabled(n.currentValue):r&&!r.firstChange?this.marksArray=this.nzMarks?this.generateMarkItems(this.nzMarks):null:l&&!l.firstChange&&(this.handles=Si(l.currentValue?2:1),this.setValue(this.formatValue(null)))}writeValue(e){this.setValue(e,!0)}onValueChange(e){}onTouched(){}registerOnChange(e){this.onValueChange=e}registerOnTouched(e){this.onTouched=e}setDisabledState(e){this.nzDisabled=this.isNzDisableFirstChange&&this.nzDisabled||e,this.isNzDisableFirstChange=!1,this.toggleDragDisabled(this.nzDisabled),this.cdr.markForCheck()}onKeyDown(e){if(this.nzDisabled)return;let n=e.keyCode,r=n===39||n===38,l=n===37||n===40;if(!(r||l))return;e.preventDefault();let m=(l?-this.nzStep:this.nzStep)*(this.nzReverse?-1:1)*(this.dir==="rtl"?-1:1),C=this.nzRange?this.value[this.activeValueIndex]+m:this.value+m;this.setActiveValue(Fe(C,this.nzMin,this.nzMax)),this.nzOnAfterChange.emit(this.getValue(!0))}onHandleFocusIn(e){this.activeValueIndex=e}setValue(e,n=!1){n?(this.value=this.formatValue(e),this.updateTrackAndHandles()):nr(this.value,e)||(this.value=e,this.updateTrackAndHandles(),this.onValueChange(this.getValue(!0)))}getValue(e=!1){return e&&this.value&&$(this.value)?[...this.value].sort((n,r)=>n-r):this.value}getValueToOffset(e){let n=e;return typeof n>"u"&&(n=this.getValue(!0)),$(n)?n.map(r=>this.valueToOffset(r)):this.valueToOffset(n)}setActiveValueIndex(e){let n=this.getValue();if($(n)){let r=null,l,m=-1;n.forEach((C,R)=>{l=Math.abs(e-C),(r===null||l<r)&&(r=l,m=R)}),this.activeValueIndex=m,this.handlerComponents.toArray()[m].focus()}else this.handlerComponents.toArray()[0].focus()}setActiveValue(e){if($(this.value)){let n=[...this.value];n[this.activeValueIndex]=e,this.setValue(n)}else this.setValue(e)}updateTrackAndHandles(){let e=this.getValue(),n=this.getValueToOffset(e),r=this.getValue(!0),l=this.getValueToOffset(r),m=$(r)?r:[0,r],C=$(l)?[l[0],l[1]-l[0]]:[0,l];this.handles.forEach((R,G)=>{R.offset=$(n)?n[G]:n,R.value=$(e)?e[G]:e||0}),[this.bounds.lower,this.bounds.upper]=m,[this.track.offset,this.track.length]=C,this.cdr.markForCheck()}onDragStart(e){this.toggleDragMoving(!0),this.cacheSliderProperty(),this.setActiveValueIndex(this.getLogicalValue(e)),this.setActiveValue(this.getLogicalValue(e)),this.showHandleTooltip(this.nzRange?this.activeValueIndex:0)}onDragMove(e){this.setActiveValue(this.getLogicalValue(e)),this.cdr.markForCheck()}getLogicalValue(e){return this.nzReverse?!this.nzVertical&&this.dir==="rtl"?e:this.nzMax-e+this.nzMin:!this.nzVertical&&this.dir==="rtl"?this.nzMax-e+this.nzMin:e}onDragEnd(){this.nzOnAfterChange.emit(this.getValue(!0)),this.toggleDragMoving(!1),this.cacheSliderProperty(!0),this.hideAllHandleTooltip(),this.cdr.markForCheck()}bindDraggingHandlers(){if(!this.platform.isBrowser)return;let e=C=>R=>C.reduce((G,Z)=>G[Z]||G,R),n=this.slider.nativeElement,r=this.nzVertical?"pageY":"pageX",l={start:"mousedown",move:"mousemove",end:"mouseup",pluckKey:[r]},m={start:"touchstart",move:"touchmove",end:"touchend",pluckKey:["touches","0",r],filter:C=>C instanceof TouchEvent};[l,m].forEach(C=>{let{start:R,move:G,end:Z,pluckKey:Be,filter:on=()=>!0}=C;C.startPlucked$=Ve(n,R).pipe(Wt(on),Gt(Xt),Ne(e(Be)),Ne(Ut=>this.findClosestValue(Ut))),C.end$=Ve(document,Z),C.moveResolved$=Ve(document,G).pipe(Wt(on),Gt(Xt),Ne(e(Be)),Qt(),Ne(Ut=>this.findClosestValue(Ut)),Qt(),sn(C.end$))}),this.dragStart$=je(l.startPlucked$,m.startPlucked$),this.dragMove$=je(l.moveResolved$,m.moveResolved$),this.dragEnd$=je(l.end$,m.end$)}subscribeDrag(e=["start","move","end"]){e.indexOf("start")!==-1&&this.dragStart$&&!this.dragStart_&&(this.dragStart_=this.dragStart$.pipe(ke(this.destroyRef)).subscribe(this.onDragStart.bind(this))),e.indexOf("move")!==-1&&this.dragMove$&&!this.dragMove_&&(this.dragMove_=this.dragMove$.pipe(ke(this.destroyRef)).subscribe(this.onDragMove.bind(this))),e.indexOf("end")!==-1&&this.dragEnd$&&!this.dragEnd_&&(this.dragEnd_=this.dragEnd$.pipe(ke(this.destroyRef)).subscribe(this.onDragEnd.bind(this)))}unsubscribeDrag(e=["start","move","end"]){e.includes("start")&&(this.dragStart_?.unsubscribe(),this.dragStart_=null),e.includes("move")&&(this.dragMove_?.unsubscribe(),this.dragMove_=null),e.includes("end")&&(this.dragEnd_?.unsubscribe(),this.dragEnd_=null)}toggleDragMoving(e){let n=["move","end"];e?(this.dragging.set(!0),this.subscribeDrag(n)):(this.dragging.set(!1),this.unsubscribeDrag(n))}toggleDragDisabled(e){e?this.unsubscribeDrag():this.subscribeDrag(["start"])}findClosestValue(e){let n=this.getSliderStartPosition(),r=this.getSliderLength(),l=Fe((e-n)/r,0,1),m=(this.nzMax-this.nzMin)*(this.nzVertical?1-l:l)+this.nzMin,C=this.nzMarks===null?[]:Object.keys(this.nzMarks).map(parseFloat).sort((Z,Be)=>Z-Be);if(this.nzStep!==0&&!this.nzDots){let Z=Math.round(m/this.nzStep)*this.nzStep;C.push(Z)}let R=C.map(Z=>Math.abs(m-Z)),G=C[R.indexOf(Math.min(...R))];return this.nzStep===0?G:parseFloat(G.toFixed(Rn(this.nzStep)))}valueToOffset(e){return Pn(this.nzMin,this.nzMax,e)}getSliderStartPosition(){if(this.cacheSliderStart!==null)return this.cacheSliderStart;let e=Sn(this.slider.nativeElement);return this.nzVertical?e.top:e.left}getSliderLength(){if(this.cacheSliderLength!==null)return this.cacheSliderLength;let e=this.slider.nativeElement;return this.nzVertical?e.clientHeight:e.clientWidth}cacheSliderProperty(e=!1){this.cacheSliderStart=e?null:this.getSliderStartPosition(),this.cacheSliderLength=e?null:this.getSliderLength()}formatValue(e){return xn(e)?this.nzRange?[this.nzMin,this.nzMax]:this.nzMin:er(e,this.nzRange)?$(e)?e.map(n=>Fe(n,this.nzMin,this.nzMax)):Fe(e,this.nzMin,this.nzMax):this.nzDefaultValue?this.nzDefaultValue:this.nzRange?[this.nzMin,this.nzMax]:this.nzMin}showHandleTooltip(e=0){this.handles.forEach((n,r)=>n.active=r===e)}hideAllHandleTooltip(){this.handles.forEach(e=>e.active=!1)}generateMarkItems(e){let n=[];for(let r in e)if(e.hasOwnProperty(r)){let l=e[r],m=typeof r=="number"?r:parseFloat(r);m>=this.nzMin&&m<=this.nzMax&&n.push({value:m,offset:this.valueToOffset(m),config:l})}return n.length?n:null}static \u0275fac=function(n){return new(n||i)};static \u0275cmp=z({type:i,selectors:[["nz-slider"]],viewQuery:function(n,r){if(n&1&&He(tn,5),n&2){let l;$e(l=Ue())&&(r.handlerComponents=l)}},hostAttrs:[1,"ant-slider"],hostVars:8,hostBindings:function(n,r){n&1&&_("keydown",function(m){return r.onKeyDown(m)}),n&2&&ee("ant-slider-rtl",r.dir==="rtl")("ant-slider-disabled",r.nzDisabled)("ant-slider-vertical",r.nzVertical)("ant-slider-with-marks",r.marksArray)},inputs:{nzDisabled:[2,"nzDisabled","nzDisabled",O],nzDots:[2,"nzDots","nzDots",O],nzIncluded:[2,"nzIncluded","nzIncluded",O],nzRange:[2,"nzRange","nzRange",O],nzVertical:[2,"nzVertical","nzVertical",O],nzReverse:[2,"nzReverse","nzReverse",O],nzDefaultValue:"nzDefaultValue",nzMarks:"nzMarks",nzMax:[2,"nzMax","nzMax",te],nzMin:[2,"nzMin","nzMin",te],nzStep:[2,"nzStep","nzStep",Ye],nzTooltipVisible:"nzTooltipVisible",nzTooltipPlacement:"nzTooltipPlacement",nzTipFormatter:"nzTipFormatter"},outputs:{nzOnAfterChange:"nzOnAfterChange"},exportAs:["nzSlider"],features:[fn([{provide:An,useExisting:ln(()=>i),multi:!0}]),fe],decls:6,vars:8,consts:[[1,"ant-slider-rail"],[3,"vertical","included","offset","length","reverse","dir"],[3,"vertical","min","max","lowerBound","upperBound","marksArray","included","reverse"],[3,"vertical","reverse","offset","value","active","tooltipFormatter","tooltipVisible","tooltipPlacement","dragging","dir"],[3,"focusin","vertical","reverse","offset","value","active","tooltipFormatter","tooltipVisible","tooltipPlacement","dragging","dir"]],template:function(n,r){n&1&&(g(0,"div",0)(1,"nz-slider-track",1),M(2,Qi,1,8,"nz-slider-step",2),D(3,Gi,1,10,"nz-slider-handle",3,nn),M(5,Yi,1,8,"nz-slider-marks",2)),n&2&&(s(),p("vertical",r.nzVertical)("included",r.nzIncluded)("offset",r.track.offset)("length",r.track.length)("reverse",r.nzReverse)("dir",r.dir),s(),x(r.marksArray?2:-1),s(),w(r.handles),s(2),x(r.marksArray?5:-1))},dependencies:[Xi,Ki,tn,Ji],encapsulation:2,changeDetection:0})}return i})();function Zi(){return new Error(`The "nzRange" can't match the "ngModel"'s type, please check these properties: "nzRange", "ngModel", "nzDefaultValue".`)}function $(i){return i instanceof Array?i.length===2:!1}function Si(i){return Array(i).fill(0).map(()=>({offset:null,value:null,active:!1}))}function er(i,t){return!$(i)&&isNaN(i)||$(i)&&i.some(e=>isNaN(e))?!1:tr(i,t)}function tr(i,t=!1){if($(i)!==t)throw Zi();return!0}function nr(i,t){return typeof i!=typeof t?!1:$(i)&&$(t)?Mn(i,t):i===t}var Mt=(()=>{class i{static \u0275fac=function(n){return new(n||i)};static \u0275mod=re({type:i});static \u0275inj=ie({imports:[rn,tn]})}return i})();var rr=(i,t)=>t.value;function or(i,t){if(i&1&&g(0,"nz-step",5),i&2){let e=u().$implicit,n=u();p("nzTitle",e.label)("nzStatus",n.excutedStatus().has(e.value)?"finish":"wait")}}function ar(i,t){if(i&1&&g(0,"nz-step",6),i&2){let e=u().$implicit;p("nzTitle",e.label)}}function sr(i,t){if(i&1&&M(0,or,1,2,"nz-step",5)(1,ar,1,1,"nz-step",6),i&2){let e=u();x(e.item().status==="closed"?0:1)}}var xt=class i{rdPermission=S(Ee);userStore=S(Se);item=c.required();stages=c([]);busy=c();actionClick=P();deleteClick=P();progressChange=P();members=c([]);currentUser=y(()=>this.userStore.currentUser());currentUserId=y(()=>this.userStore.currentUserId());currentStageName=y(()=>{let t=this.item();return t?this.stages().find(e=>e.id===t.stageId)?.name??"-":"-"});currentStatusName=y(()=>{let t=this.item()?.status;return t==="blocked"?"\u5904\u7406\u4E2D\uFF08\u963B\u585E\u4E2D\uFF09":X[t]??"_ _"});excutedStatus=y(()=>{let t=new Set;return this.item().status!=="closed"||(t.add("todo"),t.add("closed"),this.item().progress>0&&t.add("doing"),this.item().progress>=100&&t.add("done")),t});progressDraft=I(0);constructor(){le(()=>{this.item()?.progress&&this.progressDraft.set(this.item()?.progress)})}stepsOptions=yt.filter(t=>!(t.value==="blocked"||t.value===""));getStepIndex(t){return t==="blocked"?1:t==="done"?2:t==="closed"||t==="accepted"?3:t==="reopened"?1:fi.findIndex(n=>n===t)??-1}getRdStatusColor(t){return ue[t]??"default"}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-flow-area"]],inputs:{item:[1,"item"],stages:[1,"stages"],busy:[1,"busy"],members:[1,"members"]},outputs:{actionClick:"actionClick",deleteClick:"deleteClick",progressChange:"progressChange"},decls:10,vars:4,consts:[[1,"steps"],[1,"flow-card__meta"],[1,"stage"],[3,"nzColor"],["nzSize","small",3,"nzCurrent"],[3,"nzTitle","nzStatus"],[3,"nzTitle"]],template:function(e,n){e&1&&(a(0,"app-detail-item-card")(1,"div",0)(2,"div",1)(3,"span",2),d(4),o(),a(5,"nz-tag",3),d(6),o()(),a(7,"nz-steps",4),D(8,sr,2,1,null,null,rr),o()()()),e&2&&(s(4),b("\u5F53\u524D\u9636\u6BB5\uFF1A",n.currentStageName()),s(),p("nzColor",n.getRdStatusColor(n.item().status)),s(),v(n.currentStatusName()),s(),p("nzCurrent",n.getStepIndex(n.item().status)),s(),w(n.stepsOptions))},dependencies:[B,dt,Mt,si,ai,oi,H,K,L,Q],styles:[".flow-card__meta[_ngcontent-%COMP%]{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:.875rem;margin-bottom:1rem;font-weight:600}.flow-card__meta[_ngcontent-%COMP%] .stage[_ngcontent-%COMP%]{margin-right:auto}.action-empty[_ngcontent-%COMP%]{color:gray;font-size:.9rem}.delete-btn[_ngcontent-%COMP%]{margin-left:auto}.progress-wrap[_ngcontent-%COMP%]{width:100%;margin-top:8px;padding:1rem;border:1px solid #f0f0f0;border-radius:10px}.progress-wrap[_ngcontent-%COMP%] .progress-head[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between}.progress-wrap[_ngcontent-%COMP%] .progress-actions[_ngcontent-%COMP%]{width:100%;display:flex;align-items:center;justify-content:end;gap:1rem}[_nghost-%COMP%] .ant-steps-item-title:after{background-color:#d3d3d3!important}"]})};var dr=()=>({"0%":"#108ee9","100%":"#87d068"}),mr=(i,t)=>t.id;function pr(i,t){i&1&&d(0," (\u6211) ")}function cr(i,t){if(i&1&&(a(0,"div",18)(1,"span",20),d(2,"\u8FDB\u5EA6\u8BF4\u660E\uFF1A"),o(),a(3,"span",21),d(4),o()()),i&2){let e=u().$implicit;s(4),v(e.note)}}function ur(i,t){if(i&1){let e=E();a(0,"button",24),_("nzOnConfirm",function(){f(e);let r=u(2).$implicit,l=u();return h(l.onStartProgress(r))}),d(1," \u5F00\u59CB "),o()}}function gr(i,t){if(i&1){let e=E();a(0,"button",25),_("click",function(){f(e);let r=u(2).$implicit,l=u();return h(l.onUpdateProgress(r))}),d(1," \u66F4\u65B0 "),o()}}function fr(i,t){if(i&1&&M(0,ur,2,0,"button",22)(1,gr,2,0,"button",23),i&2){let e=u().$implicit;x(e.progress<=0?0:1)}}function hr(i,t){if(i&1&&(a(0,"div",9)(1,"div",11),g(2,"nz-avatar",12),a(3,"div",13)(4,"span",14),d(5),M(6,pr,1,0),o(),a(7,"span",15),d(8),k(9,"date"),o()(),g(10,"nz-progress",16),o(),a(11,"div",17),M(12,cr,5,1,"div",18),a(13,"div",19),M(14,fr,2,1),o()()()),i&2){let e=t.$implicit,n=u();s(2),se("background-color","#1890ff"),p("nzSize","small")("nzText",e.userName==null?null:e.userName.charAt(0)),s(3),b(" ",e.userName," "),s(),x(e.userId===n.currentUserId()?6:-1),s(2),b(" \u6700\u540E\u66F4\u65B0\uFF1A",F(9,10,e.updatedAt,"MM:dd hh:mm")," "),s(2),p("nzPercent",e.progress),s(2),x(e.note?12:-1),s(2),x(n.canUpdateProgress(e)&&!n.isProgressLocked()?14:-1)}}function yr(i,t){i&1&&(a(0,"div",10),d(1,"\u6682\u65E0\u6210\u5458\u8FDB\u5EA6\u6570\u636E"),o())}var Pt=class i{rdPermission=S(Ee);userStore=S(Se);item=c(null);progressList=c([]);members=c([]);updateProgressClick=P();currentUserId=y(()=>this.userStore.currentUserId());normalizedProgressList=y(()=>{let t=this.item();if(!t)return[];let e=t.memberIds??[],n=new Map(this.members().map(C=>[C.userId,C.displayName])),r=new Map(this.progressList().map(C=>[C.userId,C])),l=[];if(e.length){let C=e.map(R=>({id:R,itemId:r.get(R)?.itemId??t.id,userId:R,userName:r.get(R)?.userName??n.get(R)??R,progress:r.get(R)?.progress??0,note:r.get(R)?.note??"",updatedAt:t.updatedAt}));l.push(...C)}else{if(!t.assigneeId)return[];l.push({id:"",itemId:t.id,userId:t.assigneeId,userName:t.assigneeName??n.get(t.assigneeId)??t.assigneeId,progress:t.progress,note:"",updatedAt:t.updatedAt})}let m=this.currentUserId();return l.sort((C,R)=>C.userId===m?-1:R.userId===m?1:0)});mainProgress=y(()=>this.item()?.progress??0);isClosed(){return this.item()?.status==="closed"}getAvatarLetter(t){return t?t.charAt(0).toUpperCase():"?"}isProgressLocked(){let t=this.item()?.status;return t==="accepted"||t==="closed"}onUpdateProgress(t){this.updateProgressClick.emit(t)}onStartProgress(t){this.updateProgressClick.emit(t)}canUpdateProgress(t){return t.userId===this.currentUserId()&&this.rdPermission.hasPermissionToTransition(this.userStore.currentUser())}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-progress-area"]],inputs:{item:[1,"item"],progressList:[1,"progressList"],members:[1,"members"]},outputs:{updateProgressClick:"updateProgressClick"},decls:15,vars:6,consts:[["title","\u6210\u5458\u8FDB\u5EA6"],[1,"main-progress-header"],[1,"main-progress-info"],[1,"main-progress-label"],[1,"main-progress-hint"],[1,"main-progress-data"],[1,"progress-bar"],[3,"nzPercent","nzShowInfo","nzStrokeColor"],[1,"progress-list"],[1,"progress-item"],[1,"empty"],[1,"progress-item-header"],[3,"nzSize","nzText"],[1,"member-info"],[1,"member-name"],[1,"member-hint"],[3,"nzPercent"],[1,"progress-item-footer"],[1,"note-row"],[1,"progress-item-actions"],[1,"note-label"],[1,"note"],["nz-button","","nzType","default","nzSize","small","nz-popconfirm","","nzPopconfirmTitle","\u786E\u8BA4\u5F00\u59CB\u5904\u7406\u5417\uFF1F","nzPopconfirmPlacement","topRight"],["nz-button","","nzType","default","nzSize","small"],["nz-button","","nzType","default","nzSize","small","nz-popconfirm","","nzPopconfirmTitle","\u786E\u8BA4\u5F00\u59CB\u5904\u7406\u5417\uFF1F","nzPopconfirmPlacement","topRight",3,"nzOnConfirm"],["nz-button","","nzType","default","nzSize","small",3,"click"]],template:function(e,n){e&1&&(a(0,"app-detail-item-card",0)(1,"div",1)(2,"div",2)(3,"span",3),d(4,"\u6574\u4F53\u8FDB\u5EA6"),o(),a(5,"span",4),d(6,"\u81EA\u52A8\u53D6\u6210\u5458\u5E73\u5747\u503C"),o()(),a(7,"div",5),d(8),o()(),a(9,"div",6),g(10,"nz-progress",7),o(),a(11,"div",8),D(12,hr,15,13,"div",9,mr,!1,yr,2,0,"div",10),o()()),e&2&&(s(8),b("",n.mainProgress(),"%"),s(2),p("nzPercent",n.mainProgress())("nzShowInfo",!1)("nzStrokeColor",hn(5,dr)),s(2),w(n.normalizedProgressList()))},dependencies:[vt,_t,B,_e,de,ye,ce,Re,Hn,dt,qn,Q,N,W],styles:["[_nghost-%COMP%]{display:block}.main-progress-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.main-progress-header[_ngcontent-%COMP%] .main-progress-info[_ngcontent-%COMP%]{margin-left:4px;display:flex;flex-direction:column}.main-progress-header[_ngcontent-%COMP%] .main-progress-info[_ngcontent-%COMP%] .main-progress-label[_ngcontent-%COMP%]{font-size:14px;font-weight:500;color:#262626}.main-progress-header[_ngcontent-%COMP%] .main-progress-info[_ngcontent-%COMP%] .main-progress-hint[_ngcontent-%COMP%]{font-size:12px;color:#8c8c8c}.main-progress-header[_ngcontent-%COMP%] .main-progress-data[_ngcontent-%COMP%]{font-size:28px;font-weight:600;color:#262626}.progress-bar[_ngcontent-%COMP%]{margin-bottom:16px}.progress-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.progress-item[_ngcontent-%COMP%]{background:#fafafa;border-radius:8px;padding:12px 16px;transition:all .2s ease;border:1px solid transparent}.progress-item[_ngcontent-%COMP%]:hover{background:#f5faff;border-color:#d6e4ff}.progress-item-header[_ngcontent-%COMP%]{display:flex;align-items:center;gap:12px}.member-info[_ngcontent-%COMP%]{display:flex;flex-direction:column;min-width:120px;margin-right:50px}.member-name[_ngcontent-%COMP%]{font-size:14px;font-weight:500;color:#262626}.member-hint[_ngcontent-%COMP%]{font-size:12px;color:#8c8c8c}.progress-item-header[_ngcontent-%COMP%] nz-progress[_ngcontent-%COMP%]{flex:1;margin-left:12px}.progress-item-footer[_ngcontent-%COMP%]{margin-top:8px;display:flex;justify-content:space-between;align-items:center}.progress-item-footer[_ngcontent-%COMP%] .note-row[_ngcontent-%COMP%]{font-size:12px;color:#595959}.progress-item-footer[_ngcontent-%COMP%] .note-label[_ngcontent-%COMP%]{color:#8c8c8c}.progress-item-footer[_ngcontent-%COMP%] .note[_ngcontent-%COMP%]{margin-left:4px}.progress-item-actions[_ngcontent-%COMP%]{margin-left:auto;display:flex;align-items:center;gap:8px}.progress-item-actions[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{border-radius:6px}.empty[_ngcontent-%COMP%]{text-align:center;color:#bfbfbf;padding:24px 0}"]})};var vr=(i,t)=>t.id;function Cr(i,t){if(i&1&&g(0,"nz-alert",14),i&2){let e=u().$implicit;p("nzMessage","\u963B\u585E\u539F\u56E0\uFF1A"+e.snapshot.blockerReason)}}function br(i,t){if(i&1&&(a(0,"div",2)(1,"div",3)(2,"div")(3,"div",4),d(4),o(),a(5,"div",5),d(6),k(7,"date"),o()(),a(8,"div",6)(9,"nz-tag",7),d(10),o(),a(11,"nz-tag",8),d(12),o()()(),a(13,"div",9)(14,"div",10)(15,"div",11),d(16,"\u64CD\u4F5C\u4EBA"),o(),a(17,"div",12),d(18),o()(),a(19,"div",10)(20,"div",11),d(21,"\u9A8C\u8BC1\u4EBA"),o(),a(22,"div",12),d(23),o()(),a(24,"div",13)(25,"div",11),d(26,"\u6267\u884C\u4EBA"),o(),a(27,"div",12),d(28),o()(),a(29,"div",10)(30,"div",11),d(31,"\u8BA1\u5212\u5468\u671F"),o(),a(32,"div",12),d(33),o()(),a(34,"div",10)(35,"div",11),d(36,"\u5B9E\u9645\u5468\u671F"),o(),a(37,"div",12),d(38),o()()(),M(39,Cr,1,1,"nz-alert",14),o()),i&2){let e=t.$implicit,n=u();s(4),v(e.fromStageName),s(2),v(F(7,11,e.createdAt,"MM:dd HH:mm")),s(3),p("nzColor",n.statusColor(e.snapshot.status)),s(),b(" ",n.statusLabel(e.snapshot.status)," "),s(2),b(" \u8FDB\u5EA6 ",n.clampProgress(e.snapshot.progress),"% "),s(6),b(" ",e.operatorName||e.operatorId||"\u7CFB\u7EDF"," "),s(5),b(" ",e.snapshot.verifierName||"\u672A\u6307\u5B9A"," "),s(5),b(" ",e.snapshot.memberNames.length?e.snapshot.memberNames.join("\u3001"):"\u672A\u6307\u5B9A"," "),s(5),b(" ",n.formatDateRange(e.snapshot.planStartAt,e.snapshot.planEndAt)," "),s(5),b(" ",n.formatDateRange(e.snapshot.actualStartAt,e.snapshot.actualEndAt)," "),s(),x(e.snapshot.blockerReason?39:-1)}}var Rt=class i{entries=c([]);parsedEntries=y(()=>this.entries().map(t=>ge(V({},t),{snapshot:this.parseSnapshot(t.snapshotJson)})));statusLabel(t){return X[t]??t}statusColor(t){return ue[t]??t}clampProgress(t){let e=Number.isFinite(t)?t:0;return Math.max(0,Math.min(100,Math.round(e)))}formatDateRange(t,e){return`${this.formatDate(t)} ~ ${this.formatDate(e)}`}formatDate(t){return t?new Intl.DateTimeFormat("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit"}).format(new Date(t)):"-"}parseSnapshot(t){try{let e=JSON.parse(t);return{stageId:e.stageId??null,stageName:e.stageName??"-",status:e.status??"todo",progress:e.progress??0,assigneeId:e.assigneeId??null,assigneeName:e.assigneeName??null,verifierId:e.verifierId??null,verifierName:e.verifierName??null,memberIds:e.memberIds??[],memberNames:e.memberNames??[],planStartAt:e.planStartAt??null,planEndAt:e.planEndAt??null,actualStartAt:e.actualStartAt??null,actualEndAt:e.actualEndAt??null,blockerReason:e.blockerReason??null}}catch{return{stageId:null,stageName:"-",status:"todo",progress:0,assigneeId:null,assigneeName:null,verifierId:null,verifierName:null,memberIds:[],memberNames:[],planStartAt:null,planEndAt:null,actualStartAt:null,actualEndAt:null,blockerReason:null}}}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-stage-history"]],inputs:{entries:[1,"entries"]},decls:4,vars:1,consts:[["title","\u7814\u53D1\u9636\u6BB5\u5386\u53F2","emptyText","\u6682\u65E0\u7814\u53D1\u9636\u6BB5\u5386\u53F2",3,"emptyStatus"],[1,"history-list"],[1,"history-item"],[1,"history-header"],[1,"title"],[1,"time"],[1,"tags"],[3,"nzColor"],["nzColor","blue"],[1,"meta-grid"],[1,"meta-item"],[1,"label"],[1,"value"],[1,"meta-item","full"],["nzType","warning","nzShowIcon","",1,"mt",3,"nzMessage"]],template:function(e,n){e&1&&(a(0,"app-detail-item-card",0)(1,"div",1),D(2,br,40,14,"div",2,vr),o()()),e&2&&(p("emptyStatus",n.parsedEntries().length===0),s(2),w(n.parsedEntries()))},dependencies:[Q,H,K,gt,ut,N,W],styles:['.history-list[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.history-item[_ngcontent-%COMP%]{position:relative;border:1px solid #f0f0f0;border-radius:10px;padding:12px;background:#fff}.history-item[_ngcontent-%COMP%]:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:3px;background:#1890ff}.history-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.title[_ngcontent-%COMP%]{font-size:14px;font-weight:600;color:#262626}.time[_ngcontent-%COMP%]{font-size:12px;color:#8c8c8c;margin-top:2px}.tags[_ngcontent-%COMP%]{display:flex;gap:8px}.meta-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.meta-item[_ngcontent-%COMP%]{background:#fafafa;border-radius:8px;padding:8px 10px}.meta-item.full[_ngcontent-%COMP%]{grid-column:1 / -1}.label[_ngcontent-%COMP%]{font-size:11px;color:#8c8c8c}.value[_ngcontent-%COMP%]{font-size:13px;color:#262626;font-weight:500;margin-top:2px}.mt[_ngcontent-%COMP%]{margin-top:10px}@media (max-width: 768px){.meta-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}']})};function zr(i,t){if(i&1&&(a(0,"nz-descriptions",2)(1,"nz-descriptions-item",4),d(2),o(),a(3,"nz-descriptions-item",5),d(4),o(),a(5,"nz-descriptions-item",6),d(6),o(),a(7,"nz-descriptions-item",7)(8,"nz-tag",8),d(9),o()(),a(10,"nz-descriptions-item",9)(11,"nz-tag",8),d(12),o()(),a(13,"nz-descriptions-item",10),d(14),o(),a(15,"nz-descriptions-item",11),d(16),o()()),i&2){let e=t,n=u();p("nzColumn",1),s(2),b(" ",e.creatorName," "),s(2),b(" ",n.memberNames()," "),s(2),b(" ",e.creatorName," "),s(2),p("nzColor",n.getStatusColor(e.status)),s(),b(" ",n.getStatusLabel(e.status)," "),s(2),p("nzColor",n.getPriorityColor(e.priority)),s(),b(" ",n.getPriorityLabel(e.priority)," "),s(2),b(" ",n.getStagesName(e.stageId)," "),s(2),b(" ",e.progress," % ")}}function Ir(i,t){if(i&1&&(a(0,"div",12)(1,"div",13)(2,"div",14),d(3,"\u8BA1\u5212\u5F00\u59CB"),o(),a(4,"div",15),d(5),k(6,"date"),o()(),a(7,"div",13)(8,"div",14),d(9,"\u8BA1\u5212\u7ED3\u675F"),o(),a(10,"div",15),d(11),k(12,"date"),o()(),a(13,"div",13)(14,"div",14),d(15,"\u5B9E\u9645\u5F00\u59CB"),o(),a(16,"div",15),d(17),k(18,"date"),o()(),a(19,"div",13)(20,"div",14),d(21,"\u5B9E\u9645\u7ED3\u675F"),o(),a(22,"div",15),d(23),k(24,"date"),o()(),a(25,"div",13)(26,"div",14),d(27,"\u8BA1\u5212\u5DE5\u671F"),o(),a(28,"div",15),d(29),o()(),a(30,"div",13)(31,"div",14),d(32,"\u5B9E\u9645\u5DE5\u671F"),o(),a(33,"div",15),d(34),o()(),a(35,"div",13)(36,"div",14),d(37,"\u5F53\u524D\u9636\u6BB5\u5DE5\u671F"),o(),a(38,"div",15),d(39),o()(),a(40,"div",16)(41,"div",14),d(42,"\u521B\u5EFA\u65F6\u95F4"),o(),a(43,"div",15),d(44),k(45,"date"),o()()(),a(46,"div",17),d(47),o()),i&2){let e=t,n=u();s(5),v(F(6,10,e.planStartAt,"yyyy-MM-dd")||"\u672A\u8BBE\u7F6E"),s(6),v(F(12,13,e.planEndAt,"yyyy-MM-dd")||"\u672A\u8BBE\u7F6E"),s(6),v(F(18,16,e.actualStartAt,"yyyy-MM-dd")||"-"),s(6),v(F(24,19,e.actualEndAt,"yyyy-MM-dd")||"-"),s(6),v(n.getPlannedDuration()),s(5),v(n.getActualDuration()),s(5),v(n.getCurrentStageDuration()),s(5),v(F(45,22,e.createdAt,"yyyy-MM-dd HH:mm")),s(3),gn("\u65F6\u95F4\u72B6\u6001\uFF1A",n.getTimeStatus(),"\u3002",n.getTimeStatusHint())}}var Dt=class i{rdItem=c.required();stages=c([]);stageHistory=c([]);members=c([]);memberNames=y(()=>this.rdItem().memberIds.length<=0||this.members().length<=0?this.rdItem().assigneeName:this.rdItem().memberIds.map(t=>this.members().find(n=>n.userId===t)?.displayName).join("\uFF0C"));getStatusLabel(t){return X[t]}getStatusColor(t){return ue[t]}getPriorityLabel(t){return De[t]}getPriorityColor(t){return we[t]}getStagesName(t){return t?this.stages().find(n=>n.id===t)?.name??"":""}getPlannedDuration(){let t=this.rdItem().planStartAt,e=this.rdItem().planEndAt;return!t||!e?"-":this.formatDuration(this.diffDurationDays(t,e))}getActualDuration(){let t=this.rdItem(),e=this.stageHistory().map(l=>this.parseSnapshot(l.snapshotJson)).reduce((l,m)=>!m?.actualStartAt||!m.actualEndAt?l:l+this.diffDurationDays(m.actualStartAt,m.actualEndAt),0),n=this.getCurrentStageDurationDays(t),r=e+n;return r<=0?"-":this.formatDuration(r)}getCurrentStageDuration(){let t=this.getCurrentStageDurationDays(this.rdItem());return t<=0?"-":this.formatDuration(t)}getTimeStatus(){let t=this.rdItem();if(!t.actualStartAt)return"\u672A\u5F00\u59CB";if(t.status!=="done"&&t.status!=="accepted"&&t.status!=="closed")return"\u8FDB\u884C\u4E2D";if(!t.actualEndAt||!t.planEndAt)return"\u5DF2\u5B8C\u6210";let e=new Date(t.actualEndAt),n=new Date(t.planEndAt),r=Math.round((n.getTime()-e.getTime())/(1e3*60*60*24)*2)/2;return r>0?`\u63D0\u524D ${this.formatDuration(r)}`:r===0?"\u6309\u65F6\u5B8C\u6210":`\u5EF6\u671F ${this.formatDuration(Math.abs(r))}`}getTimeStatusHint(){let t=this.getTimeStatus();return t==="\u672A\u5F00\u59CB"?"\u5F00\u59CB\u540E\u5C06\u81EA\u52A8\u7EDF\u8BA1\u5B9E\u9645\u5DE5\u671F\u3002":t==="\u8FDB\u884C\u4E2D"?"\u5B8C\u6210\u540E\u81EA\u52A8\u8BA1\u7B97\u201C\u63D0\u524D / \u6309\u65F6 / \u5EF6\u671F\u201D\u3002":"\u65F6\u95F4\u7EDF\u8BA1\u5DF2\u6309\u8BA1\u5212\u4E0E\u5B9E\u9645\u7ED3\u675F\u65F6\u95F4\u81EA\u52A8\u8BA1\u7B97\u3002"}parseSnapshot(t){if(!t)return null;try{return JSON.parse(t)}catch{return null}}getCurrentStageDurationDays(t){if(!t.actualStartAt)return 0;let e=t.actualEndAt??(t.status==="done"||t.status==="accepted"||t.status==="closed"?t.updatedAt:new Date().toISOString());return this.diffDurationDays(t.actualStartAt,e)}formatDuration(t){let e=Math.round(Math.max(0,t)*2)/2;return e<=0?"-":`${Number.isInteger(e)?e.toFixed(0):e.toFixed(1)} \u5929`}parseDateTime(t,e){if(/^\d{4}-\d{2}-\d{2}$/.test(t)){let n=e==="start"?"T00:00:00.000":"T23:59:59.999";return new Date(`${t}${n}`)}return new Date(t)}diffDurationDays(t,e){let n=this.parseDateTime(t,"start"),r=this.parseDateTime(e,"end");if(Number.isNaN(n.getTime())||Number.isNaN(r.getTime()))return 0;let l=Math.max(0,r.getTime()-n.getTime()),m=l/(1e3*60*60*24),C=Math.round(m*2)/2;return l>0&&C===0||l===0?.5:C}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-base-info"]],inputs:{rdItem:[1,"rdItem"],stages:[1,"stages"],stageHistory:[1,"stageHistory"],members:[1,"members"]},decls:5,vars:2,consts:[[1,"base-info-container"],["title","\u57FA\u7840\u4FE1\u606F"],["nzBordered","","nzSize","small",3,"nzColumn"],["title","\u65F6\u95F4\u4FE1\u606F"],["nzTitle","\u521B\u5EFA\u4EBA"],["nzTitle","\u6267\u884C\u4EBA"],["nzTitle","\u9A8C\u6536\u4EBA"],["nzTitle","\u72B6\u6001"],[3,"nzColor"],["nzTitle","\u4F18\u5148\u7EA7"],["nzTitle","\u9636\u6BB5"],["nzTitle","\u8FDB\u5EA6"],[1,"time-grid"],[1,"time-item"],[1,"label"],[1,"value"],[1,"time-item","full"],[1,"time-status"]],template:function(e,n){if(e&1&&(a(0,"div",0)(1,"app-detail-item-card",1),M(2,zr,17,10,"nz-descriptions",2),o(),a(3,"app-detail-item-card",3),M(4,Ir,48,25),o()()),e&2){let r,l;s(2),x((r=n.rdItem())?2:-1,r),s(2),x((l=n.rdItem())?4:-1,l)}},dependencies:[ft,ci,pi,Q,H,K,N,W],styles:[".base-info-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem}.time-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.time-item[_ngcontent-%COMP%]{background:#f5f7fa;border-radius:8px;padding:12px}.time-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%]{font-size:12px;color:#8c8c8c;margin-bottom:4px}.time-item[_ngcontent-%COMP%] .value[_ngcontent-%COMP%]{font-size:14px;font-weight:500;color:#262626}.time-item.full[_ngcontent-%COMP%]{grid-column:span 2}.time-status[_ngcontent-%COMP%]{margin-top:12px;padding:10px 12px;border-radius:6px;background:#fff7e6;color:#d46b08;border:1px solid #ffd591;font-size:13px}"]})};var Mr=(i,t)=>t.id;function xr(i,t){if(i&1&&(a(0,"nz-timeline-item")(1,"div",1)(2,"div",2)(3,"span",3),d(4),o(),a(5,"span",4),d(6),o(),a(7,"span",5),d(8),k(9,"date"),o()()()()),i&2){let e=t.$implicit;s(4),v(e.operatorName||"\u7CFB\u7EDF"),s(2),v(e.content||e.actionType),s(2),v(F(9,3,e.createdAt,"MM/dd HH:mm"))}}var wt=class i{logs=c([]);static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-logs-area"]],inputs:{logs:[1,"logs"]},decls:4,vars:2,consts:[["title","\u7814\u53D1\u52A8\u6001","maxHeight","600px",3,"emptyStatus","emptyText"],[1,"rd-log-item"],[1,"meta"],[1,"operator"],[1,"content"],[1,"time"]],template:function(e,n){e&1&&(a(0,"app-detail-item-card",0)(1,"nz-timeline"),D(2,xr,10,6,"nz-timeline-item",null,Mr),o()()),e&2&&(p("emptyStatus",n.logs().length===0)("emptyText","\u6682\u65E0\u52A8\u6001"),s(2),w(n.logs()))},dependencies:[Q,ht,ui,gi,N,W],styles:[".rd-log-item[_ngcontent-%COMP%]{padding:4px 0 0}.rd-log-item[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%]{display:flex;align-items:center;gap:.875rem;color:#000000a6;font-size:1rem;margin-bottom:4px}.rd-log-item[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%] .operator[_ngcontent-%COMP%]{font-weight:700;white-space:nowrap;flex-shrink:0}.rd-log-item[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%] .content[_ngcontent-%COMP%]{color:#000000d9;font-size:.875rem}.rd-log-item[_ngcontent-%COMP%] .meta[_ngcontent-%COMP%] .time[_ngcontent-%COMP%]{margin-right:15px;font-size:.875rem;font-weight:300;color:#bbb;margin-left:auto;white-space:nowrap;flex-shrink:0}"]})};var Sr=(i,t)=>t.id;function Pr(i,t){i&1&&(a(0,"div",3),d(1,"\u6682\u65E0\u7814\u53D1\u9879\u63CF\u8FF0"),o())}function Rr(i,t){if(i&1&&(a(0,"div",4)(1,"div",5),d(2),o(),a(3,"div",6),d(4),o()()),i&2){let e=t.$implicit;s(2),v(e.label),s(2),v(e.content)}}var Et=class i{rdItem=c.required();projectId=c.required();logs=c([]);mdContent=y(()=>{let t=this.rdItem();return t?vi(t.description||"",this.projectId(),t.id,"rd-items"):""});detailNotes=y(()=>{let t=[...this.logs()].reverse(),e=[];for(let n of t){let r=n.content?.trim()||"";if(r){if(n.actionType==="advance_stage"){let m=r.match(/(?:^|;)\s*说明[::]\s*(.+)$/)?.[1]?.trim();if(!m)continue;let R=r.match(/推进阶段[::]\s*.+?\s*->\s*([^;]+)/)?.[1]?.trim()||"\u8BE5";e.push({id:`advance-${n.id}`,label:`${R}\u9636\u6BB5\u63CF\u8FF0`,content:m});continue}if(n.actionType==="close"){let m=r.match(/关闭研发项[::]\s*(.+)$/)?.[1]?.trim();if(!m)continue;e.push({id:`close-${n.id}`,label:"\u5173\u95ED\u539F\u56E0",content:m})}}}return e});static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-description-area"]],inputs:{rdItem:[1,"rdItem"],projectId:[1,"projectId"],logs:[1,"logs"]},decls:6,vars:6,consts:[[3,"title"],[1,"description-container"],[3,"content","showToc","tocVariant","tocCollapsedByDefault"],[1,"empty"],[1,"note"],[1,"note-label"],[1,"note-content"]],template:function(e,n){e&1&&(a(0,"app-detail-item-card",0)(1,"div",1),g(2,"app-markdown-viewer",2),M(3,Pr,2,0,"div",3),o(),D(4,Rr,5,2,"div",4,Sr),o()),e&2&&(p("title","\u7814\u53D1\u9879\u63CF\u8FF0"),s(2),p("content",n.mdContent())("showToc",!0)("tocVariant","floating")("tocCollapsedByDefault",!0),s(),x(n.mdContent()?-1:3),s(),w(n.detailNotes()))},dependencies:[_i,Q],styles:[".description-container[_ngcontent-%COMP%]{margin-bottom:10px;max-height:500px;overflow-y:auto}.description-container[_ngcontent-%COMP%] .empty[_ngcontent-%COMP%]{width:100%;text-align:center;font-size:.875rem;color:gray}.note[_ngcontent-%COMP%]{padding:1rem 0;border-top:1px solid #ebedf0}.note[_ngcontent-%COMP%] .note-label[_ngcontent-%COMP%]{margin-bottom:4px;font-size:.8rem;font-weight:700;color:gray}.note[_ngcontent-%COMP%] .note-content[_ngcontent-%COMP%]{font-size:.8rem;text-indent:.8rem}"]})};function Dr(i,t){i&1&&(a(0,"span",5),d(1),o()),i&2&&(s(),v(t))}function wr(i,t){if(i&1&&(a(0,"div",3)(1,"div",4),M(2,Dr,2,1,"span",5),a(3,"strong"),d(4),o()()()),i&2){let e,n=u();s(2),x((e=n.subtitleText())?2:-1,e),s(2),v(n.titleText())}}function Er(i,t){i&1&&g(0,"nz-spin",6)}function Tr(i,t){if(i&1){let e=E();a(0,"div",7)(1,"div",8)(2,"app-rd-flow-area",9),_("actionClick",function(r){f(e);let l=u(2);return h(l.actionClick.emit(r))})("deleteClick",function(){f(e);let r=u(2);return h(r.deleteClick.emit())}),o(),a(3,"app-rd-progress-area",10),_("updateProgressClick",function(r){f(e);let l=u(2);return h(l.updateProgressClick.emit(r))}),o(),g(4,"app-rd-description-area",11)(5,"app-rd-logs-area",12)(6,"app-rd-stage-history",13),o(),a(7,"div",14),g(8,"app-rd-base-info",15),o()()}if(i&2){let e=t,n=u(2);s(2),p("item",e)("members",n.members())("stages",n.stages())("busy",n.busy()),s(),p("item",e)("progressList",n.progressList())("members",n.members()),s(),p("projectId",n.projectId())("rdItem",e)("logs",n.logs()),s(),p("logs",n.logs()),s(),p("entries",n.stageHistory()),s(2),p("rdItem",e)("stages",n.stages())("stageHistory",n.stageHistory())("members",n.members())}}function Nr(i,t){if(i&1&&M(0,Er,1,0,"nz-spin",6)(1,Tr,9,16,"div",7),i&2){let e,n=u();x(n.loading()&&!n.rdItem()?0:(e=n.rdItem())?1:-1,e)}}var Tt=class i{rdItem=c();loading=c(!1);open=c(!1);busy=c(!1);logs=c([]);members=c([]);stages=c([]);progressList=c([]);stageHistory=c([]);projectId=c("");close=P();actionClick=P();updateProgressClick=P();deleteClick=P();subtitleText=y(()=>this.rdItem()?.rdNo||"");titleText=y(()=>this.rdItem()?.title||"\u7814\u53D1\u9879\u8BE6\u60C5");closeDetaile(){this.close.emit()}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-detail"]],inputs:{rdItem:[1,"rdItem"],loading:[1,"loading"],open:[1,"open"],busy:[1,"busy"],logs:[1,"logs"],members:[1,"members"],stages:[1,"stages"],progressList:[1,"progressList"],stageHistory:[1,"stageHistory"],projectId:[1,"projectId"]},outputs:{close:"close",actionClick:"actionClick",updateProgressClick:"updateProgressClick",deleteClick:"deleteClick"},decls:4,vars:7,consts:[["drawerTitleTpl",""],[3,"nzOnClose","nzVisible","nzClosable","nzMaskClosable","nzWidth","nzWrapClassName","nzMask","nzTitle"],["nzDrawerContent",""],[1,"title-wrap"],[1,"title-main"],[1,"subtitle"],["nzSize","large","nzTip","\u6B63\u5728\u52A0\u8F7D\u7814\u53D1\u9879....",1,"loading"],[1,"detail-wrap"],[1,"left-column"],[3,"actionClick","deleteClick","item","members","stages","busy"],[3,"updateProgressClick","item","progressList","members"],[3,"projectId","rdItem","logs"],[3,"logs"],[3,"entries"],[1,"right-column"],[3,"rdItem","stages","stageHistory","members"]],template:function(e,n){if(e&1){let r=E();a(0,"nz-drawer",1),_("nzOnClose",function(){return f(r),h(n.closeDetaile())}),A(1,wr,5,2,"ng-template",null,0,q)(3,Nr,2,1,"ng-template",2),o()}if(e&2){let r=U(2);p("nzVisible",n.open())("nzClosable",!0)("nzMaskClosable",!0)("nzWidth",900)("nzWrapClassName","rd-detail-drawer")("nzMask",!1)("nzTitle",r)}},dependencies:[Tn,En,wn,Y,ze,ft,ht,N,J,ot,L,xt,Et,wt,Dt,Pt,Kn,Jn,Rt],styles:[".ant-descriptions-bordered.ant-descriptions-small .ant-descriptions-item-label{min-width:75px}.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:#fafafa;color:#64748b}.wrap-title[_ngcontent-%COMP%]{width:100%;margin-bottom:12px;font-size:18px;font-weight:700;border-bottom:1px solid #bbbbbb}.detail-wrap[_ngcontent-%COMP%]{display:flex;align-items:start;gap:1rem}.detail-wrap[_ngcontent-%COMP%] .left-column[_ngcontent-%COMP%]{width:65%;display:flex;flex-direction:column;gap:1rem}.detail-wrap[_ngcontent-%COMP%] .right-column[_ngcontent-%COMP%]{width:35%;display:flex;flex-direction:column;gap:1rem}.detail-wrap[_ngcontent-%COMP%] .edit-bar[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:end}.detail-wrap[_ngcontent-%COMP%] .edit-bar[_ngcontent-%COMP%] .edit-btn[_ngcontent-%COMP%]{margin-top:10px}.detail-wrap[_ngcontent-%COMP%] .edit-area[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px} .ant-descriptions-item-content, .ant-descriptions-item-label{font-size:.875rem}"]})};var Or=(i,t)=>t.id,Ri=(i,t)=>t.value;function Ar(i,t){if(i&1&&g(0,"nz-option",11),i&2){let e=t.$implicit;p("nzLabel",e.name)("nzValue",e.id)("nzDisabled",!e.enabled)}}function kr(i,t){i&1&&g(0,"nz-icon",20)}function Fr(i,t){if(i&1&&g(0,"nz-option",21),i&2){let e=u().$implicit;p("nzLabel",e.label)("nzValue",e.value)}}function Br(i,t){if(i&1&&M(0,Fr,1,2,"nz-option",21),i&2){let e=t.$implicit;x(e.value!==""?0:-1)}}function Vr(i,t){i&1&&g(0,"nz-icon",22)}function jr(i,t){if(i&1&&g(0,"nz-option",21),i&2){let e=u().$implicit;p("nzLabel",e.label)("nzValue",e.value)}}function Lr(i,t){if(i&1&&M(0,jr,1,2,"nz-option",21),i&2){let e=t.$implicit;x(e.value!==""?0:-1)}}function Hr(i,t){i&1&&g(0,"nz-icon",23)}var Nt=class i{fb=S(et);statusOptions=yt;priorityOptions=yi;query=c.required();stages=c([]);viewType=_n();valueChange=P();openCreateDialog=P();constructor(){this.form.valueChanges.pipe(an(500)).subscribe(t=>{this.valueChange.emit(t)})}ngOnInit(){this.form.patchValue(this.query(),{emitEvent:!1})}form=this.fb.group({keyword:this.fb.control(""),stageIds:this.fb.control([]),status:this.fb.control([]),priority:this.fb.control([])});static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-filter-bar"]],inputs:{query:[1,"query"],stages:[1,"stages"],viewType:[1,"viewType"]},outputs:{viewType:"viewTypeChange",valueChange:"valueChange",openCreateDialog:"openCreateDialog"},decls:35,vars:8,consts:[["stageIconTpl",""],["statusIconTpl",""],["priorityIconTpl",""],[1,"toolbar"],["nz-form","",1,"search-form",3,"formGroup"],[1,"search-row"],[1,"search-box"],["nzInputPrefix","","nzType","search","nzTheme","outline"],["nz-input","","type","text","formControlName","keyword","placeholder","\u641C\u7D22 RD \u7F16\u53F7\u3001\u6807\u9898\u6216\u63CF\u8FF0"],[1,"form-item"],["formControlName","stageIds","nzPlaceHolder","\u9009\u62E9\u9636\u6BB5","nzMode","multiple","nzAllowClear","",3,"nzPrefix","nzMaxTagCount"],[3,"nzLabel","nzValue","nzDisabled"],["formControlName","status","nzPlaceHolder","\u9009\u62E9\u72B6\u6001","nzMode","multiple","nzAllowClear","",3,"nzPrefix","nzMaxTagCount"],["formControlName","priority","nzPlaceHolder","\u9009\u62E9\u4F18\u5148\u7EA7","nzMode","multiple","nzAllowClear","",3,"nzPrefix","nzMaxTagCount"],[1,"right-col"],[1,"view-type",3,"ngModelChange","ngModel"],["nz-radio-button","","nzValue","list"],["nzType","unordered-list","nzTheme","outline"],["nz-radio-button","","nzValue","board"],["nzType","book","nzTheme","outline"],["nzType","stock","nzTheme","outline"],[3,"nzLabel","nzValue"],["nzType","thunderbolt","nzTheme","outline"],["nzType","tags","nzTheme","outline"]],template:function(e,n){if(e&1){let r=E();a(0,"div",3)(1,"form",4)(2,"div",5)(3,"nz-form-item",6)(4,"nz-form-control")(5,"nz-input-wrapper"),g(6,"nz-icon",7)(7,"input",8),o()()()(),a(8,"nz-form-item",9)(9,"nz-form-control")(10,"nz-select",10),D(11,Ar,1,3,"nz-option",11,Or),o()(),A(13,kr,1,0,"ng-template",null,0,q),o(),a(15,"nz-form-item",9)(16,"nz-form-control")(17,"nz-select",12),D(18,Br,1,1,null,null,Ri),o()(),A(20,Vr,1,0,"ng-template",null,1,q),o(),a(22,"nz-form-item",9)(23,"nz-form-control")(24,"nz-select",13),D(25,Lr,1,1,null,null,Ri),o()(),A(27,Hr,1,0,"ng-template",null,2,q),o()(),a(29,"div",14)(30,"nz-radio-group",15),Qe("ngModelChange",function(m){return f(r),We(n.viewType,m)||(n.viewType=m),h(m)}),a(31,"label",16),g(32,"nz-icon",17),o(),a(33,"label",18),g(34,"nz-icon",19),o()()()()}if(e&2){let r=U(14),l=U(21),m=U(28);s(),p("formGroup",n.form),s(9),p("nzPrefix",r)("nzMaxTagCount",2),s(),w(n.stages()),s(6),p("nzPrefix",l)("nzMaxTagCount",2),s(),w(n.statusOptions),s(6),p("nzPrefix",m)("nzMaxTagCount",2),s(),w(n.priorityOptions),s(5),qe("ngModel",n.viewType)}},dependencies:[ct,On,Nn,di,li,mi,B,de,Pe,at,st,J,Me,jn,Vn,L,Ze,Ie,me,Xe,pe,tt,Fn,Bn,mt,Qn,Wn,Y,he],styles:[".toolbar[_ngcontent-%COMP%]{border:1px solid rgba(0,0,0,.12);border-radius:8px;display:flex;justify-content:space-between;margin-top:16px;padding:16px}.toolbar[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%]{flex:1;margin-right:50px;display:flex;flex-wrap:wrap;gap:10px}.toolbar[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] .form-item[_ngcontent-%COMP%]{width:285px;min-width:285px;margin-bottom:0}.toolbar[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] .search-row[_ngcontent-%COMP%]{width:100%}.toolbar[_ngcontent-%COMP%] .search-form[_ngcontent-%COMP%] .search-row[_ngcontent-%COMP%] .search-box[_ngcontent-%COMP%]{width:380px}.toolbar[_ngcontent-%COMP%] .right-col[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:end;justify-content:end}.toolbar[_ngcontent-%COMP%] .right-col[_ngcontent-%COMP%] .view-type[_ngcontent-%COMP%]{margin-top:auto;display:flex;justify-content:end}"]})};var $r=i=>({"task-card-active":i}),Ur=i=>({"background-color":i}),qr=(i,t)=>t.name;function Wr(i,t){if(i&1&&g(0,"nz-avatar",14),i&2){let e=t.$implicit;p("nzText",e.text)("ngStyle",Ae(2,Ur,e.color))}}var Ot=class i{rdItem=c.required();stages=c([]);projectMembers=c([]);selected=c(!1);projectId=c(null);selectItem=P();rdItemPreview=y(()=>Ct(this.rdItem().description,this.projectId(),this.rdItem().id,"rd-items")||"\u6682\u65E0\u8BE6\u7EC6\u63CF\u8FF0");itemMembersMap=y(()=>{let t=this.rdItem().memberIds||[];return t.length===0&&this.rdItem().assigneeName?new Map([[this.rdItem().assigneeName,this.rdItem().assigneeName]]):t.length===0&&!this.rdItem().assigneeName?new Map:new Map(this.projectMembers().filter(e=>t.includes(e.userId)).map(e=>[e.userId,e.displayName]))});memberAvatarList=y(()=>{let t=this.itemMembersMap(),e=Array.from(t.values());return e.map((n,r)=>({name:n,text:n?.charAt(0)?.toUpperCase()||"?",color:this.generateBlue(r,e.length)}))});generateBlue(t,e){if(e<=1)return"hsl(210, 70%, 55%)";let n=65;return`hsl(210, 70%, ${n-t/(e-1)*(n-35)}%)`}getPriorityColor(t){return we[t]}getPriorityLabel(t){return De[t]}getStatusLabel(t){return X[t]}getStageName(t){let e=this.stages().find(n=>n.id===t);return e?e.name:"-"}getStagesName(t){return t?this.stages().find(n=>n.id===t)?.name??"":""}memberNamesText(t){let e=this.itemMembersMap();return e.size===0?"":Array.from(e.values()).join("\u3001")}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-item-card"]],inputs:{rdItem:[1,"rdItem"],stages:[1,"stages"],projectMembers:[1,"projectMembers"],selected:[1,"selected"],projectId:[1,"projectId"]},outputs:{selectItem:"selectItem"},decls:30,vars:24,consts:[[1,"task-card",3,"click","ngClass"],[1,"priority-left-bar"],[1,"card-content"],[1,"card-header"],[1,"task-id"],[1,"badge-row"],[1,"tag",3,"nzColor"],[1,"task-title"],[1,"des-text"],[3,"lines","enableToggle"],[1,"progress-section"],["nzSize","small",3,"nzPercent"],[1,"meta-row"],[1,"assignee"],[3,"nzText","ngStyle"],[1,"assignee-name"],[1,"due-date"],["nzType","calendar","nzTheme","outline"]],template:function(e,n){e&1&&(a(0,"div",0),_("click",function(){return n.selectItem.emit(n.rdItem())}),g(1,"div",1),a(2,"div",2)(3,"div",3)(4,"span",4),d(5),o(),a(6,"div",5)(7,"nz-tag",6),d(8),o(),a(9,"nz-tag",6),d(10),o()()(),a(11,"div",7),d(12),o(),a(13,"div",8)(14,"app-ellipsis-text",9),d(15),o()(),a(16,"div",10),g(17,"nz-progress",11),o(),a(18,"div",12)(19,"div",13)(20,"nz-avatar-group"),D(21,Wr,1,4,"nz-avatar",14,qr),o(),a(23,"span",15)(24,"app-ellipsis-text",9),d(25),o()()(),a(26,"div",16),g(27,"nz-icon",17),d(28),k(29,"date"),o()()()()),e&2&&(p("ngClass",Ae(22,$r,n.selected())),s(),se("background","#1890ff"),ee("priority-left-bar",n.selected()),s(4),v(n.rdItem().rdNo),s(2),p("nzColor","blue"),s(),v(n.getStageName(n.rdItem().stageId)),s(),p("nzColor",n.getPriorityColor(n.rdItem().priority)),s(),v(n.getPriorityLabel(n.rdItem().priority)),s(2),v(n.rdItem().title),s(2),p("lines",2)("enableToggle",!1),s(),b(" ",n.rdItemPreview().summary," "),s(2),p("nzPercent",n.rdItem().progress),s(4),w(n.memberAvatarList()),s(3),p("lines",1)("enableToggle",!1),s(),b(" ",n.memberNamesText(n.rdItem())," "),s(3),b(" ",F(29,19,n.rdItem().planEndAt,"yyyy-MM-dd")," "))},dependencies:[ce,Re,H,K,vt,_t,hi,Y,he,bt,N,vn,Ge,W],styles:[".task-card[_ngcontent-%COMP%]{width:100%;background:#fff;border-radius:8px;box-shadow:0 2px 18px #41414107,0 0 0 1px #3f3f3f05,0 4px 6px #00000008;transition:all .25s ease;overflow:hidden;-webkit-backdrop-filter:blur(0px);backdrop-filter:blur(0px);cursor:pointer}.task-card[_ngcontent-%COMP%]:hover{transform:translateY(-2px);box-shadow:0 12px 32px -12px #00000026,0 0 0 1px #00000008}.task-card-active[_ngcontent-%COMP%]{transform:translateY(2px);box-shadow:0 4px 12px -4px #00000026,0 0 0 1px #00000008;border:1px solid #188fff75}.priority-left-bar[_ngcontent-%COMP%]{position:absolute;left:0;top:0;bottom:0;width:4px}.card-content[_ngcontent-%COMP%]{padding:10px}.card-header[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.task-id[_ngcontent-%COMP%]{font-size:12px;font-weight:500;letter-spacing:.3px;background:#f3f4f8;padding:2px 10px;border-radius:40px;color:#94a3b8;font-family:SF Mono,Fira Code,monospace;background:#f1f5f9;display:inline-block}.task-title[_ngcontent-%COMP%]{font-size:16px;font-weight:600;line-height:1.4;color:#0f172a;letter-spacing:-.2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}.des-text[_ngcontent-%COMP%]{font-size:12px;color:#999;margin-top:2px}.progress-section[_ngcontent-%COMP%]{margin-bottom:0}.meta-row[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}.assignee[_ngcontent-%COMP%]{display:flex;align-items:center;gap:10px}.assignee-name[_ngcontent-%COMP%]{font-size:12px;font-weight:500;color:#1e293b}.due-date[_ngcontent-%COMP%]{margin-left:auto;display:flex;align-items:center;gap:6px;background:#f8fafc;padding:4px 10px;border-radius:40px;font-size:12px;color:#334155;font-weight:500}.footer-note[_ngcontent-%COMP%]{font-size:11px;color:#94a3b8;display:flex;justify-content:flex-end;margin-top:8px}@media (max-width: 480px){.demo-grid[_ngcontent-%COMP%]{gap:16px}.task-card[_ngcontent-%COMP%]{width:100%;max-width:380px}}[_nghost-%COMP%] .progress-section{margin:0}"]})};var Ei=(i,t)=>t.id;function Qr(i,t){if(i&1){let e=E();a(0,"app-rd-item-card",4),_("selectItem",function(r){f(e);let l=u(3);return h(l.select(r))}),o()}if(i&2){let e,n=t.$implicit,r=u(3);p("rdItem",n)("stages",r.stages())("selected",((e=r.selectedItem())==null?null:e.id)===n.id)("projectId",r.projectId())("projectMembers",r.members())}}function Gr(i,t){i&1&&g(0,"nz-empty")}function Yr(i,t){if(i&1&&(a(0,"div",5)(1,"span"),d(2),o(),g(3,"nz-badge",6),o()),i&2){let e,n=u().$implicit,r=u(2);s(2),v(r.getStagesName(n.id)),s(),p("nzColor","#eee")("nzCount",((e=r.itemGroupByStages().get(n.id))==null?null:e.length)??0)}}function Jr(i,t){if(i&1&&(a(0,"nz-card",2),D(1,Qr,1,5,"app-rd-item-card",3,Ei,!1,Gr,1,0,"nz-empty"),o(),A(4,Yr,4,3,"ng-template",null,0,q)),i&2){let e=t.$implicit,n=U(5),r=u(2);p("nzTitle",n),s(),w(r.itemGroupByStages().get(e.id))}}function Kr(i,t){if(i&1&&D(0,Jr,6,2,null,null,Ei),i&2){let e=u();w(e.stages())}}var wi={critical:4,high:3,medium:2,low:1},At=class i{rdItems=c([]);stages=c([]);selectedItem=c(null);projectId=c(null);members=c([]);selectItem=P();itemGroupByStages=y(()=>{let t=new Map;for(let e of this.rdItems()){let n=e.stageId;n&&(t.has(n)||t.set(n,[]),t.get(n).push(e))}for(let e of t.values())e.sort((n,r)=>wi[r.priority]-wi[n.priority]);return t});select(t){this.selectItem.emit(t)}getStagesName(t){return t?this.stages().find(n=>n.id===t)?.name??"":""}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-list-board"]],inputs:{rdItems:[1,"rdItems"],stages:[1,"stages"],selectedItem:[1,"selectedItem"],projectId:[1,"projectId"],members:[1,"members"]},outputs:{selectItem:"selectItem"},decls:2,vars:1,consts:[["cardTitleTpl",""],[1,"cards-list"],[1,"items-card",3,"nzTitle"],[3,"rdItem","stages","selected","projectId","projectMembers"],[3,"selectItem","rdItem","stages","selected","projectId","projectMembers"],[1,"card-title"],["nzStandalone","","nzShowZero","",3,"nzColor","nzCount"]],template:function(e,n){e&1&&(a(0,"div",1),M(1,Kr,2,0),o()),e&2&&(s(),x(n.rdItems().length>0?1:-1))},dependencies:[ze,Dn,lt,Un,H,Ot,ot,$n],styles:[".cards-list[_ngcontent-%COMP%]{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.cards-list[_ngcontent-%COMP%] .items-card[_ngcontent-%COMP%]{flex-grow:1;overflow:hidden}.cards-list[_ngcontent-%COMP%] .card-title[_ngcontent-%COMP%]{width:100%;display:flex;align-items:center}.cards-list[_ngcontent-%COMP%] .card-title[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{margin-right:auto}.rd-title[_ngcontent-%COMP%]{color:#1677ff;font-weight:500;cursor:pointer}[_nghost-%COMP%] .ant-card-head{height:48px;padding:0 12px}[_nghost-%COMP%] .ant-card-head-title{padding:10px 0}[_nghost-%COMP%] .ant-card-body{display:flex;flex-direction:column;gap:10px;overflow:auto;padding:0 12px}[_nghost-%COMP%] .ant-card-bordered{border:1px solid #e7e7e7;border-radius:8px}"]})};var Xr=(i,t)=>({width:i,height:t});function Zr(i,t){if(i&1&&(a(0,"div",3),g(1,"img",4),o()),i&2){let e=u();se("left",e.hoveredPreview().left,"px")("top",e.hoveredPreview().top,"px"),s(),p("src",e.hoveredPreview().src,Yt)("alt",e.hoveredPreview().alt)}}var kt=class i{width=c("60px");height=c("60px");src=c(null);alt=c("");previewSrc=c(null);previewAlt=c("");hasError=I(!1);hoveredPreview=I(null);showPreview(t){if(!this.previewSrc()||this.hasError()){this.hoveredPreview.set(null);return}let e=this.calcPosition(t);this.hoveredPreview.set(V({src:this.previewSrc(),alt:this.previewAlt()||this.alt()},e))}movePreview(t){this.hoveredPreview()&&this.showPreview(t)}hidePreview(){this.hoveredPreview.set(null)}markError(){this.hasError.set(!0),this.hoveredPreview.set(null)}calcPosition(t){let l=t.clientX+16,m=t.clientY+16;return l+320>window.innerWidth&&(l=t.clientX-320-16),m+200>window.innerHeight&&(m=window.innerHeight-200-12),{left:l,top:m}}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-image-hover-preview"]],inputs:{width:[1,"width"],height:[1,"height"],src:[1,"src"],alt:[1,"alt"],previewSrc:[1,"previewSrc"],previewAlt:[1,"previewAlt"]},decls:3,vars:9,consts:[[1,"item-img",3,"ngStyle"],[3,"error","mouseenter","mousemove","mouseleave","src","alt"],[1,"preview-float",3,"left","top"],[1,"preview-float"],[3,"src","alt"]],template:function(e,n){e&1&&(a(0,"div",0)(1,"img",1),_("error",function(){return n.markError()})("mouseenter",function(l){return n.showPreview(l)})("mousemove",function(l){return n.movePreview(l)})("mouseleave",function(){return n.hidePreview()})("error",function(){return n.markError()}),o()(),M(2,Zr,2,6,"div",2)),e&2&&(se("display",!n.src()||n.hasError()?"none":"block"),p("ngStyle",yn(6,Xr,n.width(),n.height())),s(),p("src",n.src(),Yt)("alt",n.alt()),s(),x(n.hoveredPreview()?2:-1))},dependencies:[N,Ge],styles:[".item-img[_ngcontent-%COMP%]{flex-shrink:0;margin-left:auto;overflow:hidden;border-radius:8px;border:1px solid #f0f0f0}.item-img[_ngcontent-%COMP%] img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:cover;object-position:center}.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%]{width:100%;max-width:100%;max-height:100%;object-fit:contain}"]})};var eo=(i,t)=>t.id;function to(i,t){if(i&1&&(a(0,"app-ellipsis-text",11)(1,"span",19),d(2),o()()),i&2){let e=t;p("lines",1)("enableToggle",!1),s(),p("nz-tooltip",e),s(),v(e)}}function no(i,t){i&1&&(a(0,"span",17),d(1,"\u672A\u6307\u6D3E"),o())}function io(i,t){if(i&1){let e=E();a(0,"tr",7),_("click",function(){let r=f(e).$implicit,l=u();return h(l.selectItem.emit(r))}),a(1,"td"),d(2),o(),a(3,"td",8)(4,"div",9)(5,"div",10)(6,"app-ellipsis-text",11)(7,"span",12),d(8),o(),a(9,"span",13),d(10),o()(),a(11,"nz-tag",14),d(12),o(),a(13,"nz-tag",14),d(14),o()(),a(15,"div",15)(16,"app-ellipsis-text",11),d(17),o()()(),g(18,"app-image-hover-preview",16),o(),a(19,"td"),d(20),o(),a(21,"td"),d(22),o(),a(23,"td"),M(24,to,3,4,"app-ellipsis-text",11)(25,no,2,0,"span",17),o(),a(26,"td"),g(27,"nz-progress",18),o(),a(28,"td"),d(29),k(30,"date"),o()()}if(i&2){let e,n,r=t.$implicit,l=t.$index,m=u();ee("selected-row",r.id===((e=m.selectedItem())==null?null:e.id)),s(2),v(l+1+m.query().pageSize*(m.query().page-1)),s(4),p("lines",1)("enableToggle",!1),s(2),b("[",r.rdNo,"]"),s(2),b(" ",r.title," "),s(),p("nzColor",m.getStatusColor(r.status)),s(),b(" ",m.getStatusLabel(r.status)," "),s(),p("nzColor",m.getPriorityColor(r.priority)),s(),b(" ",m.getPriorityLabel(r.priority)," "),s(2),p("lines",2)("enableToggle",!1),s(),b(" ",m.previewSummary(r)," "),s(),p("src",m.previewImageUrl(r))("previewSrc",m.previewImageUrl(r)),s(2),v(m.getStagesName(r.stageId)||"-"),s(2),v(r.creatorName||"-"),s(2),x((n=m.memberNamesText(r))?24:25,n),s(3),p("nzPercent",r.progress),s(2),v(F(30,21,r.updatedAt,"MM-dd HH:mm"))}}var Ft=class i{rdItems=c.required();query=c.required();projectId=c(null);selectedItem=c(null);stages=c([]);selectItem=P();members=c([]);previewMap=y(()=>{let t=new Map;for(let e of this.rdItems())t.set(e.id,Ct(e.description,this.projectId(),e.id,"rd-items"));return t});getPriorityColor(t){return we[t]}getPriorityLabel(t){return De[t]}getStatusLabel(t){return X[t]}getStatusColor(t){return ue[t]}getStagesName(t){return t?this.stages().find(n=>n.id===t)?.name??"":""}previewSummary(t){return this.previewMap().get(t.id)?.summary||"\u6682\u65E0\u8BE6\u7EC6\u63CF\u8FF0"}previewImageUrl(t){return this.previewMap().get(t.id)?.imageUrl??null}memberNamesText(t){let e=t.memberIds||[];if(e.length===0&&!t.assigneeName)return"";if(e.length===0&&t.assigneeName)return t.assigneeName;let n=new Map(this.members().map(r=>[r.userId,r.displayName]));return e.map(r=>n.get(r)||r).join("\u3001")}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-list-table"]],inputs:{rdItems:[1,"rdItems"],query:[1,"query"],projectId:[1,"projectId"],selectedItem:[1,"selectedItem"],stages:[1,"stages"],members:[1,"members"]},outputs:{selectItem:"selectItem"},decls:20,vars:5,consts:[[1,"rd-list",3,"nzData","nzFrontPagination","nzShowPagination","nzShowSizeChanger"],["nzWidth","66px"],[3,"nzEllipsis"],["nzWidth","100px"],["nzWidth","140px"],["nzWidth","150px"],[1,"rd-item-row",3,"selected-row"],[1,"rd-item-row",3,"click"],[1,"title-col"],[1,"rd-title-wrap"],[1,"title-text"],[3,"lines","enableToggle"],[1,"rd-no"],[1,"rd-title"],[3,"nzColor"],[1,"des-text"],[3,"src","previewSrc"],[1,"no-member"],["nzSize","small",3,"nzPercent"],[1,"rd-member-text",3,"nz-tooltip"]],template:function(e,n){e&1&&(a(0,"nz-table",0)(1,"thead")(2,"tr")(3,"th",1),d(4,"\u5E8F\u53F7"),o(),a(5,"th",2),d(6,"\u7814\u53D1\u9879"),o(),a(7,"th",3),d(8,"\u9636\u6BB5"),o(),a(9,"th",3),d(10,"\u521B\u5EFA\u4EBA"),o(),a(11,"th",4),d(12,"\u6267\u884C\u4EBA"),o(),a(13,"th",5),d(14,"\u8FDB\u5EA6"),o(),a(15,"th",4),d(16,"\u66F4\u65B0\u65F6\u95F4"),o()()(),a(17,"tbody"),D(18,io,31,24,"tr",6,eo),o()()),e&2&&(p("nzData",n.rdItems())("nzFrontPagination",!1)("nzShowPagination",!1)("nzShowSizeChanger",!0),s(5),p("nzEllipsis",!0),s(13),w(n.rdItems()))},dependencies:[pt,ni,Xn,Zn,ri,ti,ii,ei,B,ce,Re,H,K,nt,xe,N,bt,kt,W],styles:[".title-col[_ngcontent-%COMP%]{display:flex}.title-col[_ngcontent-%COMP%] .rd-title-wrap[_ngcontent-%COMP%]{margin-right:auto}.title-col[_ngcontent-%COMP%] .title-text[_ngcontent-%COMP%]{display:flex;align-items:center}.title-col[_ngcontent-%COMP%] .rd-title[_ngcontent-%COMP%]{margin-right:8px;font-weight:600;font-size:1rem;cursor:pointer}.title-col[_ngcontent-%COMP%] .rd-no[_ngcontent-%COMP%]{font-weight:600;color:#1890ff}.title-col[_ngcontent-%COMP%] .des-text[_ngcontent-%COMP%]{font-size:12px;color:#999;margin-top:2px}.title-col[_ngcontent-%COMP%] .rd-img-wrap[_ngcontent-%COMP%]{width:100px;margin-left:auto}.rd-item-row[_ngcontent-%COMP%]{cursor:pointer}.rd-item-row.selected-row[_ngcontent-%COMP%] > td[_ngcontent-%COMP%]:first-child{border-left:4px solid #91d5ff}.rd-item-row.selected-row[_ngcontent-%COMP%] > td[_ngcontent-%COMP%]{background-color:#e6f7ff}.rd-item-row.selected-row[_ngcontent-%COMP%]:hover > td[_ngcontent-%COMP%]{background-color:#e6f7ff}"]})};var Bt=class i{apiClient=S(it);projectContext=S(rt);async rdPostReqWithPK(t){let e=this.projectContext.currentProjectId();return this.apiClient.hubRequestWithPersonalToken({projectId:e,method:"POST",path:`/rd-items/${t.rdId}/${t.action}`,payload:t.payload})}async rdDeleteReqWithPK(t){let e=this.projectContext.currentProjectId();return this.apiClient.hubRequestWithPersonalToken({projectId:e,method:"DELETE",path:`/rd-items/${t.rdId}`,payload:t.payload})}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ne({token:i,factory:i.\u0275fac,providedIn:"root"})};var Vt=class i{apiClient=S(it);rdTokenApi=S(Bt);async delete(t,e){return await this.rdTokenApi.rdDeleteReqWithPK({rdId:e,payload:{}})}async close(t,e,n){return await this.rdTokenApi.rdPostReqWithPK({rdId:e,action:"close",payload:{summary:n}})}async accept(t,e){return await this.rdTokenApi.rdPostReqWithPK({rdId:e,action:"accept",payload:{}})}async resolve(t,e,n){return await this.rdTokenApi.rdPostReqWithPK({rdId:e,action:"complete",payload:{summary:n}})}async resume(t,e){return await this.rdTokenApi.rdPostReqWithPK({rdId:e,action:"resume",payload:{}})}async block(t,e,n){return await this.rdTokenApi.rdPostReqWithPK({rdId:e,action:"block",payload:n})}async start(t,e){return await this.rdTokenApi.rdPostReqWithPK({action:"start",rdId:e,payload:{}})}async updateProgress(t,e){return await this.rdTokenApi.rdPostReqWithPK({rdId:t,action:"progress",payload:e})}async advanceStage(t,e){}async update(t,e,n){return await this.rdTokenApi.rdPostReqWithPK({rdId:e,action:"update",payload:V({},n)})}async getRdItemsList(t,e){return await this.apiClient.hubRequestWithPrjId({projectId:t,path:"/rd-items",query:V({},e)})}async getRdItem(t,e){return await this.apiClient.hubRequestWithPrjId({projectId:t,path:`/rd-items/${e}`})}async getRdStages(t){return await this.apiClient.hubRequestWithPrjId({projectId:t,path:"/rd-stages"})}async getRdItemLogs(t,e){return await this.apiClient.hubRequestWithPrjId({projectId:t,path:`/rd-items/${e}/logs`})}async getRdProgress(t,e){return await this.apiClient.hubRequestWithPrjId({projectId:t,path:`/rd-items/${e}/progress`})}async getRdStageHistory(t,e){return await this.apiClient.hubRequestWithPrjId({projectId:t,path:`/rd-items/${e}/stage-history`})}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ne({token:i,factory:i.\u0275fac,providedIn:"root"})};var jt=class i{rdApi=S(Vt);projectContextStore=S(rt);projectId=y(()=>this.projectContextStore.currentProjectId());rdItemsPageListState=I([]);rdItemsCountState=I(0);currentRdItemState=I(null);currentRdLogsState=I([]);currentRdProgressState=I([]);currentRdStageHistoryState=I([]);stagesState=I([]);projectMembersState=this.projectContextStore.currentProjectMembers;queryState=I({page:1,pageSize:10,stageId:"",status:[],type:[],priority:[],assigneeId:"",keyword:""});busyState=I(!1);loadingState=I(!1);currentRdLoadingState=I(!1);query=y(()=>this.queryState());currentRdItem=y(()=>this.currentRdItemState());currentRdLogs=y(()=>this.currentRdLogsState());currentRdProgress=y(()=>this.currentRdProgressState());currentRdStageHistory=y(()=>this.currentRdStageHistoryState());stages=y(()=>this.stagesState());rdItemsCount=y(()=>this.rdItemsCountState());rdItemsPageList=y(()=>this.rdItemsPageListState());projectMembers=y(()=>this.projectMembersState());busy=y(()=>this.busyState());rdItemsLoading=y(()=>this.loadingState());currentRdLoading=y(()=>this.currentRdLoadingState());initialize(){try{let t=this.projectId();if(!t)return;Promise.all([this.loadStages(),this.loadRdItems(),this.projectContextStore.loadProjectMembers(t)])}catch{}}async loadRdItems(){try{let t=this.projectId();if(!t)return;this.loadingState.set(!0);let e=await this.rdApi.getRdItemsList(t,this.query());this.rdItemsPageListState.set(e.items),this.rdItemsCountState.set(e.total),this.loadingState.set(!1)}catch{this.loadingState.set(!1)}}async loadStages(){let t=this.projectId();if(t)try{let e=(await this.rdApi.getRdStages(t)).items;this.stagesState.set(e)}catch{this.stagesState.set([])}}async loadCurrentRdItem(t){let e=this.projectId();if(e){this.currentRdLoadingState.set(!0);try{let n=await this.rdApi.getRdItem(e,t);this.currentRdItemState.set(n);let r=await this.rdApi.getRdItemLogs(e,t);this.currentRdLogsState.set(r.items);let l=await this.rdApi.getRdProgress(e,t),m=await this.rdApi.getRdStageHistory(e,t);this.currentRdProgressState.set(l.items),this.currentRdStageHistoryState.set(m.items),this.currentRdLoadingState.set(!1)}catch{throw this.currentRdLoadingState.set(!1),new Error("load current rd item error")}}}setCurrentRdItem(t){this.currentRdItemState.set(t)}updateQuery(t){this.queryState.update(e=>ge(V(V({},e),t),{page:t.page??e.page??1}))}update(t,e){let n=this.projectId();n&&this.runAction(()=>this.rdApi.update(n,t,e))}start(t){let e=this.projectId();this.runAction(()=>this.rdApi.start(e,t))}block(t,e){this.runAction(()=>this.rdApi.block(this.projectId(),t,e))}resume(t){this.runAction(()=>this.rdApi.resume(this.projectId(),t))}resolve(t){let e=this.projectId();e&&this.runAction(()=>this.rdApi.resolve(e,t))}advanceStage(t,e){}updateProgress(t){let e=this.currentRdItem();e&&this.runAction(()=>this.rdApi.updateProgress(e.id,t))}accept(t){let e=this.projectId();e&&this.runAction(()=>this.rdApi.accept(e,t))}close(t,e){let n=this.projectId();n&&this.runAction(()=>this.rdApi.close(n,t,e))}delete(t){let e=this.projectId();this.busyState.set(!0),qt(this.rdApi.delete(e,t)).subscribe({next:()=>{this.busyState.set(!1);let n=this.rdItemsPageListState();if(!n){this.loadRdItems();return}let r=n.filter(l=>l.id!==t);if(r.length===n.length){this.loadRdItems();return}this.rdItemsCountState.update(l=>l-1),this.rdItemsPageListState.update(l=>r)},error:()=>{this.busyState.set(!1)}})}runAction(t){this.busyState.set(!0),qt(t()).subscribe({next:e=>{this.busyState.set(!1),this.patchOrRefresh(e)},error:()=>{this.busyState.set(!1)}})}patchOrRefresh(t){let e=this.rdItemsPageListState();if(!e){this.loadRdItems();return}let n=e.findIndex(l=>l.id===t.id);if(n<0)return;this.loadCurrentRdItem(t.id);let r=[...e];r[n]=t,this.rdItemsPageListState.set(r)}static \u0275fac=function(e){return new(e||i)};static \u0275prov=ne({token:i,factory:i.\u0275fac,providedIn:"root"})};function ro(i,t){if(i&1&&(a(0,"div")(1,"div",5)(2,"span"),d(3,"\u66F4\u65B0\u6211\u7684\u8FDB\u5EA6"),o(),a(4,"div",6),d(5),o()()()),i&2){let e=u();s(5),b(" ",e.rdItem()?e.rdItem().title:""," ")}}function oo(i,t){i&1&&(a(0,"div",15),g(1,"nz-icon",16),d(2," \u4EC5\u5141\u8BB8\u66F4\u65B0\u81EA\u5DF1\u7684\u8FDB\u5EA6"),o())}function ao(i,t){if(i&1){let e=E();oe(0),a(1,"div",7)(2,"div",8)(3,"div",9),d(4,"\u6210\u5458"),o(),a(5,"div",10),d(6),o()(),a(7,"div",8)(8,"div",9),d(9,"\u8FDB\u5EA6\u503C"),o(),a(10,"nz-slider",11),_("ngModelChange",function(r){f(e);let l=u();return h(l.progressDraft.set(r))}),o(),a(11,"div",12),d(12),o()(),a(13,"div",8)(14,"div",9),d(15,"\u8FDB\u5EA6\u8BF4\u660E\uFF08\u53EF\u9009\uFF09"),o(),a(16,"textarea",13),_("ngModelChange",function(r){f(e);let l=u();return h(l.note.set(r))}),o()(),g(17,"nz-alert",14),A(18,oo,3,0,"ng-template",null,0,q),o(),ae()}if(i&2){let e,n=U(19),r=u();s(6),v(((e=r.progress())==null?null:e.userName)??"_ _"),s(4),p("ngModel",r.progressDraft())("nzMin",0)("nzMax",100),s(2),b("",r.progressDraft(),"%"),s(4),p("ngModel",r.note()),s(),p("nzMessage",n)}}function so(i,t){if(i&1){let e=E();oe(0),a(1,"button",17),_("click",function(){f(e);let r=u();return h(r.cancel.emit())}),d(2,"\u53D6\u6D88"),o(),a(3,"button",18),_("click",function(){f(e);let r=u();return h(r.submitForm())}),d(4," \u4FDD\u5B58\u8FDB\u5EA6 "),o(),ae()}if(i&2){let e=u();s(3),p("nzLoading",e.busy())}}var Lt=class i{open=c(!1);busy=c(!1);progress=c(null);rdItem=c(null);confirm=P();cancel=P();progressDraft=I(0);note=I("");constructor(){le(()=>{this.open()&&(this.progressDraft.set(this.progress()?.progress||0),this.note.set(""))})}submitForm(){this.confirm.emit({progress:this.progressDraft(),note:this.note().trim()})}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd-progress-dialog"]],inputs:{open:[1,"open"],busy:[1,"busy"],progress:[1,"progress"],rdItem:[1,"rdItem"]},outputs:{confirm:"confirm",cancel:"cancel"},decls:4,vars:4,consts:[["alertInfoTemplate",""],[3,"nzOnCancel","nzVisible","nzWidth","nzClosable","nzMaskClosable"],[4,"nzModalTitle"],[4,"nzModalContent"],[4,"nzModalFooter"],[1,"modal-title"],[1,"modal-subtitle"],[1,"progress-form"],[1,"field"],[1,"label"],[1,"value"],[3,"ngModelChange","ngModel","nzMin","nzMax"],[1,"progress-value"],["nz-input","","rows","4","placeholder","\u4F8B\u5982\uFF1A\u5B8C\u6210\u4E86\u6838\u5FC3\u6A21\u5757\u5F00\u53D1\uFF0C\u5F85\u8054\u8C03\u6D4B\u8BD5...",3,"ngModelChange","ngModel"],["nzType","info",3,"nzMessage"],[1,"hint"],["nzType","bulb","nzTheme","fill"],["nz-button","",3,"click"],["nz-button","","nzType","primary",3,"click","nzLoading"]],template:function(e,n){e&1&&(a(0,"nz-modal",1),_("nzOnCancel",function(){return n.cancel.emit()}),A(1,ro,6,1,"div",2)(2,ao,20,7,"ng-container",3)(3,so,5,1,"ng-container",4),o()),e&2&&p("nzVisible",n.open())("nzWidth",600)("nzClosable",!0)("nzMaskClosable",!1)},dependencies:[be,Ce,Je,ve,Ke,L,Ie,me,pe,B,_e,de,ye,J,Me,Mt,rn,gt,ut,Y,he],styles:[".modal-title[_ngcontent-%COMP%]{font-size:16px;font-weight:600}.modal-subtitle[_ngcontent-%COMP%]{color:#999;font-size:14px;line-height:20px}.progress-form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:20px}.field[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:8px}.label[_ngcontent-%COMP%]{font-size:.875rem;color:#8c8c8c}.value[_ngcontent-%COMP%]{font-size:1rem;font-weight:500;color:#262626}.progress-value[_ngcontent-%COMP%]{text-align:center;font-size:28px;font-weight:600;color:#262626;margin-top:8px}textarea[_ngcontent-%COMP%]{border-radius:8px}.hint[_ngcontent-%COMP%]{font-size:12px;color:#8c8c8c} .ant-alert-info{border-radius:8px}"]})};var lo=["class","component"];function mo(i,t){if(i&1){let e=E();a(0,"app-rd-list-table",14),_("selectItem",function(r){f(e);let l=u();return h(l.selectItem(r))}),o()}if(i&2){let e=u();p("rdItems",e.pageRdItems())("query",e.query())("selectedItem",e.currentRdItem())("members",e.members())("stages",e.stages())("projectId",e.currentProjectId())}}function po(i,t){if(i&1){let e=E();a(0,"app-rd-list-board",15),_("selectItem",function(r){f(e);let l=u();return h(l.selectItem(r))}),o()}if(i&2){let e=u();p("rdItems",e.pageRdItems())("projectId",e.currentProjectId())("selectedItem",e.currentRdItem())("stages",e.stages())("members",e.members())}}function co(i,t){if(i&1&&d(0),i&2){let e=t.$implicit;b("\u5171 ",e," \u6761\u8BB0\u5F55")}}var Ht=class i{rdStore=S(jt);fb=S(et);router=S(bn);route=S(Cn);userStore=S(Se);viewType=I("list");createDialogOpen=I(!1);detailDrawerOpen=I(!1);blockingItem=I(null);blockOpen=I(!1);drawerPlacement=I("right");advanceStageOpen=I(!1);progressUpdateItem=I(null);progressUpdateOpen=I(!1);currentProjectId=y(()=>this.rdStore.projectId()||"");members=this.rdStore.projectMembers;priorities=["\u4F4E","\u4E2D","\u9AD8"];loading=this.rdStore.rdItemsLoading;currentRdLoading=this.rdStore.currentRdLoading;pageRdItems=this.rdStore.rdItemsPageList;currentRdItem=this.rdStore.currentRdItem;currentRdLogs=this.rdStore.currentRdLogs;currentRdProgress=this.rdStore.currentRdProgress;currentRdStageHistory=this.rdStore.currentRdStageHistory;stages=this.rdStore.stages;total=this.rdStore.rdItemsCount;busy=this.rdStore.busy;query=this.rdStore.query;constructor(){this.rdStore.initialize(),this.route.queryParamMap.subscribe(t=>{let e=t.get("detail");if(e){if(this.currentRdItem()?.id===e||this.currentRdLoading()){this.detailDrawerOpen.set(!0);return}this.rdStore.loadCurrentRdItem(e),this.detailDrawerOpen.set(!0)}}),this.userStore.ensureUserLoaded()}onPageChange(t){this.rdStore.updateQuery({page:t}),this.rdStore.loadRdItems()}onPageSizeChange(t){this.rdStore.updateQuery({pageSize:t}),this.rdStore.loadRdItems()}updateQueryByFilter(t){this.rdStore.updateQuery(t),this.rdStore.loadRdItems()}createRd(t){}openCreateDialog(){this.createDialogOpen.set(!0)}async selectItem(t){this.openDetail(t),this.detailDrawerOpen.set(!0);try{await this.rdStore.loadCurrentRdItem(t.id),this.rdStore.setCurrentRdItem(this.rdStore.currentRdItem()??t)}catch{this.rdStore.setCurrentRdItem(t)}}closeDetail(){this.detailDrawerOpen.set(!1),this.rdStore.setCurrentRdItem(null),this.router.navigate([],{queryParams:{}})}handleSelectedAction(t){let e=this.currentRdItem();e&&this.handleAction(e,t)}deleteSelectedItem(){let t=this.currentRdItem();t&&(this.rdStore.delete(t.id),this.closeDetail())}handleAction(t,e){switch(this.openDetail(t),e){case"start":this.rdStore.start(t.id);break;case"block":this.blockingItem.set(t),this.blockOpen.set(!0);break;case"resume":this.rdStore.resume(t.id);break;case"complete":this.rdStore.resolve(t.id);break;case"advance":this.advanceStageOpen.set(!0);break}}openDetail(t){this.router.navigate([],{relativeTo:this.route,queryParams:{detail:t.id},queryParamsHandling:"merge"})}openProgressUpdate(t){if(this.currentRdItem()?.status!=="closed"){if(t.progress===0){this.confirmProgressUpdate({progress:1,note:""});return}this.progressUpdateItem.set(t),this.progressUpdateOpen.set(!0)}}confirmProgressUpdate(t){this.rdStore.updateProgress(t),this.progressUpdateOpen.set(!1),this.progressUpdateItem.set(null)}confirmBlock(t){let e=this.blockingItem();e&&(this.rdStore.block(e.id,{blockerReason:t}),this.closeBlockDialog())}closeBlockDialog(){this.blockOpen.set(!1),this.blockingItem.set(null)}confirmAdvanceStage(t){let e=this.currentRdItem();!e||!t.trim()||(this.rdStore.advanceStage(e.id,{stageId:t.trim()}),this.advanceStageOpen.set(!1))}static \u0275fac=function(e){return new(e||i)};static \u0275cmp=z({type:i,selectors:[["app-rd",8,"component"]],attrs:lo,decls:15,vars:33,consts:[["totalTemplate",""],[3,"title","loading","isFullscreen","isOverflowYAuto"],[1,"rd-content"],[1,"filter-container"],[3,"viewTypeChange","openCreateDialog","valueChange","query","stages","viewType"],[1,"list-content"],[3,"rdItems","query","selectedItem","members","stages","projectId"],[3,"rdItems","projectId","selectedItem","stages","members"],[1,"pagination-bar"],["nzShowSizeChanger","","nzShowQuickJumper","",3,"nzPageIndexChange","nzPageSizeChange","nzPageIndex","nzTotal","nzShowTotal","nzPageSize"],[3,"actionClick","close","updateProgressClick","deleteClick","open","rdItem","progressList","stageHistory","members","projectId","busy","logs","stages","loading"],[3,"cancel","confirm","open","busy","item"],[3,"cancel","confirm","open","busy","item","stages"],[3,"cancel","confirm","open","busy","rdItem","progress"],[3,"selectItem","rdItems","query","selectedItem","members","stages","projectId"],[3,"selectItem","rdItems","projectId","selectedItem","stages","members"]],template:function(e,n){if(e&1){let r=E();a(0,"app-page-layout",1)(1,"div",2)(2,"div",3)(3,"app-rd-filter-bar",4),Qe("viewTypeChange",function(m){return f(r),We(n.viewType,m)||(n.viewType=m),h(m)}),_("openCreateDialog",function(){return f(r),h(n.openCreateDialog())})("valueChange",function(m){return f(r),h(n.updateQueryByFilter(m))}),o()(),a(4,"div",5),M(5,mo,1,6,"app-rd-list-table",6)(6,po,1,5,"app-rd-list-board",7),a(7,"div",8)(8,"nz-pagination",9),_("nzPageIndexChange",function(m){return f(r),h(n.onPageChange(m))})("nzPageSizeChange",function(m){return f(r),h(n.onPageSizeChange(m))}),o(),A(9,co,1,1,"ng-template",null,0,q),o()()(),a(11,"app-rd-detail",10),_("actionClick",function(m){return f(r),h(n.handleSelectedAction(m))})("close",function(){return f(r),h(n.closeDetail())})("updateProgressClick",function(m){return f(r),h(n.openProgressUpdate(m))})("deleteClick",function(){return f(r),h(n.deleteSelectedItem())}),o(),a(12,"app-rd-block-dialog",11),_("cancel",function(){return f(r),h(n.closeBlockDialog())})("confirm",function(m){return f(r),h(n.confirmBlock(m.blockerReason))}),o(),a(13,"app-rd-advance-stage-dialog",12),_("cancel",function(){return f(r),h(n.advanceStageOpen.set(!1))})("confirm",function(m){return f(r),h(n.confirmAdvanceStage(m.stageId))}),o(),a(14,"app-rd-progress-dialog",13),_("cancel",function(){return f(r),h(n.progressUpdateOpen.set(!1))})("confirm",function(m){return f(r),h(n.confirmProgressUpdate(m))}),o()()}if(e&2){let r=U(10);p("title","\u7814\u53D1\u9879")("loading",n.loading())("isFullscreen",!0)("isOverflowYAuto",!1),s(3),p("query",n.query())("stages",n.stages()),qe("viewType",n.viewType),s(2),x(n.viewType()==="list"?5:6),s(3),p("nzPageIndex",n.query().page)("nzTotal",n.total())("nzShowTotal",r)("nzPageSize",n.query().pageSize),s(3),p("open",n.detailDrawerOpen())("rdItem",n.currentRdItem())("progressList",n.currentRdProgress())("stageHistory",n.currentRdStageHistory())("members",n.members())("projectId",n.currentProjectId())("busy",n.busy())("logs",n.currentRdLogs())("stages",n.stages())("loading",n.currentRdLoading()),s(),p("open",n.blockOpen())("busy",n.busy())("item",n.blockingItem()),s(),p("open",n.advanceStageOpen())("busy",n.busy())("item",n.currentRdItem())("stages",n.stages()),s(),p("open",n.progressUpdateOpen())("busy",n.busy())("rdItem",n.currentRdItem())("progress",n.progressUpdateItem())}},dependencies:[Ln,Pe,pt,B,J,Y,mt,ct,ze,ce,lt,tt,L,Ci,H,Yn,Gn,At,Ft,Tt,It,Lt,zt,Nt],styles:[".rd-content[_ngcontent-%COMP%]{width:100%;min-width:630px;height:100%;display:flex;flex-direction:column;align-items:center;overflow:auto}.rd-content[_ngcontent-%COMP%] .filter-container[_ngcontent-%COMP%]{width:100%;padding:0 48px}.rd-content[_ngcontent-%COMP%] .list-content[_ngcontent-%COMP%]{width:100%;padding:12px 48px 8px;min-height:0;flex-grow:1}.rd-content[_ngcontent-%COMP%] .list-content[_ngcontent-%COMP%] .pagination-bar[_ngcontent-%COMP%]{padding:12px;display:flex;justify-content:end}"]})};var uo=[{path:"",component:Ht}],$t=class i{static \u0275fac=function(e){return new(e||i)};static \u0275mod=re({type:i});static \u0275inj=ie({imports:[N,Kt.forChild(uo),Kt]})};var Ti=class i{static \u0275fac=function(e){return new(e||i)};static \u0275mod=re({type:i});static \u0275inj=ie({imports:[N,$t]})};export{Ti as RdModule};
@@ -1 +1 @@
1
- import{h as n}from"./chunk-L5D75AMV.js";import{n as m}from"./chunk-T3KK7ZXB.js";import{Gb as e,oa as t}from"./chunk-WI67LAOV.js";var d=[{path:"",loadComponent:()=>import("./chunk-SYCNSLAW.js").then(o=>o.DashboardComponent)}],i=class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[n.forChild(d),n]})};var a=class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[m,i]})};export{a as DashboardModule};
1
+ import{h as n}from"./chunk-WUA5JFDD.js";import{n as m}from"./chunk-KRYMOHYF.js";import{Gb as e,oa as t}from"./chunk-4BRW6LCZ.js";var d=[{path:"",loadComponent:()=>import("./chunk-DLGJD6YU.js").then(o=>o.DashboardComponent)}],i=class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[n.forChild(d),n]})};var a=class o{static \u0275fac=function(r){return new(r||o)};static \u0275mod=e({type:o});static \u0275inj=t({imports:[m,i]})};export{a as DashboardModule};
@@ -1 +1 @@
1
- import{a as Oe,b as Ze}from"./chunk-BYEU6KGP.js";import{E as Te,Fa as Fe,G as Re,Ga as Me,H as Ne,L as I,U as T,a as ae,jb as We,r as De,ra as V,sa as A,ua as R,x as Ee,y as xe}from"./chunk-SPRWNZHF.js";import{A as Pe}from"./chunk-T3KK7ZXB.js";import{$b as X,Ac as ne,Ba as B,Ca as U,Da as Q,Fb as K,Fc as L,Gb as ze,Gc as x,Hb as ve,I as G,Jc as be,M,Mc as ke,Oa as de,Ra as ge,S as ce,Ub as we,Wb as Z,Yb as W,_b as q,a as b,ac as J,bc as ee,cc as g,dc as _,ea as me,ec as C,f as j,fa as O,kb as fe,l as F,lc as H,na as he,nb as z,nc as ye,oa as pe,r as E,rc as k,s as u,sa as s,sb as Y,sc as _e,tb as ue,td as oe,uc as v,vc as Ce,wc as Se,xd as Ie,ya as P,yc as te,za as D,zc as ie}from"./chunk-WI67LAOV.js";var Be=["*"],Ue=["imgRef"],Qe=["imagePreviewWrapper"];function Ye(t,r){if(t&1){let e=H();g(0,"div",13),k("click",function(i){P(e);let o=v();return D(o.onSwitchLeft(i))}),C(1,"nz-icon",14),_(),g(2,"div",15),k("click",function(i){P(e);let o=v();return D(o.onSwitchRight(i))}),C(3,"nz-icon",16),_()}if(t&2){let e=v();x("ant-image-preview-switch-left-disabled",e.index<=0),z(2),x("ant-image-preview-switch-right-disabled",e.index>=e.images.length-1)}}function Ke(t,r){if(t&1&&(g(0,"li",5),be(1),_()),t&2){let e=v();z(),ke("",e.index+1," / ",e.images.length)}}function qe(t,r){if(t&1){let e=H();g(0,"li",17),k("click",function(){let i=P(e).$implicit;return D(i.onClick())}),C(1,"nz-icon",18),_()}if(t&2){let e=r.$implicit,n=v();x("ant-image-preview-operations-operation-disabled",n.zoomOutDisabled&&e.type==="zoomOut"),z(),ee("nzType",e.icon)("nzRotate",e.rotate??0)}}function Xe(t,r){if(t&1&&C(0,"img",20,1),t&2){let e=v().$implicit,n=v();L("width",e.width)("height",e.height)("transform",n.previewImageTransform),we("src",n.sanitizerResourceUrl(e.src),fe)("srcset",e.srcset)("alt",e.alt)}}function Je(t,r){if(t&1&&Z(0,Xe,2,9,"img",19),t&2){let e=r.$index,n=v();W(e===n.index?0:-1)}}var et=(()=>{class t{nzScaleStep=null;images=[];addImage(e){this.images.push(e)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=K({type:t,selectors:[["nz-image-group"]],inputs:{nzScaleStep:"nzScaleStep"},exportAs:["nzImageGroup"],ngContentSelectors:Be,decls:1,vars:0,template:function(n,i){n&1&&(Ce(),Se(0))},encapsulation:2,changeDetection:0})}return t})(),$e="image",N=class{nzKeyboard=!0;nzNoAnimation=!1;nzMaskClosable=!0;nzCloseOnNavigation=!0;nzZIndex;nzZoom;nzRotate;nzFlipHorizontally;nzFlipVertically;nzScaleStep;nzDirection};function tt(t){let r={};return t.width<=t.clientWidth&&t.height<=t.clientHeight&&(r={x:0,y:0}),(t.width>t.clientWidth||t.height>t.clientHeight)&&(r={x:Ve(t.left,t.width,t.clientWidth),y:Ve(t.top,t.height,t.clientHeight)}),r}function it(t){let r=t.getBoundingClientRect(),e=document.documentElement;return{left:r.left+(window.pageXOffset||e.scrollLeft)-(e.clientLeft||document.body.clientLeft||0),top:r.top+(window.pageYOffset||e.scrollTop)-(e.clientTop||document.body.clientTop||0)}}function nt(){let t=document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight;return{width:t,height:r}}function Ve(t,r,e){let n=t+r,i=(r-e)/2,o=null;return r>e?(t>0&&(o=i),t<0&&n<e&&(o=-i)):(t<0||n>e)&&(o=t<0?i:-i),o}var Ae={x:0,y:0},se=.5,ot=1,at=0,je=(()=>{class t{document=s(U);ngZone=s(ue);cdr=s(oe);nzConfigService=s(A);config=s(N);sanitizer=s(Pe);destroyRef=s(Q);_defaultNzZoom=ot;_defaultNzScaleStep=se;_defaultNzRotate=at;images=[];index=0;isDragging=!1;visible=!0;animationStateChanged=new Y;scaleStepMap=new Map;previewImageTransform="";previewImageWrapperTransform="";operations=[{icon:"close",onClick:()=>{this.onClose()},type:"close"},{icon:"zoom-in",onClick:()=>{this.onZoomIn()},type:"zoomIn"},{icon:"zoom-out",onClick:()=>{this.onZoomOut()},type:"zoomOut"},{icon:"rotate-right",onClick:()=>{this.onRotateRight()},type:"rotateRight"},{icon:"rotate-left",onClick:()=>{this.onRotateLeft()},type:"rotateLeft"},{icon:"swap",onClick:()=>{this.onHorizontalFlip()},type:"flipHorizontally"},{icon:"swap",onClick:()=>{this.onVerticalFlip()},type:"flipVertically",rotate:90}];zoomOutDisabled=!1;position=b({},Ae);previewRef;closeClick=new Y;imageRef;imagePreviewWrapper;zoom=this.config.nzZoom??this._defaultNzZoom;rotate=this.config.nzRotate??this._defaultNzRotate;scaleStep=this.config.nzScaleStep??this._defaultNzScaleStep;flipHorizontally=this.config.nzFlipHorizontally??!1;flipVertically=this.config.nzFlipVertically??!1;get animationDisabled(){return this.config.nzNoAnimation??!1}get maskClosable(){let e=this.nzConfigService.getConfigForComponent($e)||{};return this.config.nzMaskClosable??e.nzMaskClosable??!0}constructor(){this.updateZoomOutDisabled(),this.updatePreviewImageTransform(),this.updatePreviewImageWrapperTransform()}ngOnInit(){V(this.imagePreviewWrapper.nativeElement,"mousedown").pipe(I(this.destroyRef)).subscribe(()=>{this.isDragging=!0}),V(this.imagePreviewWrapper.nativeElement,"wheel").pipe(I(this.destroyRef)).subscribe(e=>{this.ngZone.run(()=>this.wheelZoomEventHandler(e))}),V(this.document,"keydown").pipe(M(e=>e.keyCode===27),I(this.destroyRef)).subscribe(()=>{this.ngZone.run(()=>{this.onClose(),this.markForCheck()})})}setImages(e,n){n&&(this.scaleStepMap=n),this.images=e,this.markForCheck()}switchTo(e){this.index=e,this.markForCheck()}next(){this.index<this.images.length-1&&(this.reset(),this.index++,this.updatePreviewImageTransform(),this.updatePreviewImageWrapperTransform(),this.updateZoomOutDisabled(),this.markForCheck())}prev(){this.index>0&&(this.reset(),this.index--,this.updatePreviewImageTransform(),this.updatePreviewImageWrapperTransform(),this.updateZoomOutDisabled(),this.markForCheck())}markForCheck(){this.cdr.markForCheck()}onClose(){this.visible=!1,this.closeClick.emit()}onZoomIn(){let e=this.scaleStepMap.get(this.images[this.index].src??this.images[this.index].srcset)??this.scaleStep;this.zoom+=e,this.updatePreviewImageTransform(),this.updateZoomOutDisabled()}onZoomOut(){if(this.zoom>1){let e=this.scaleStepMap.get(this.images[this.index].src??this.images[this.index].srcset)??this.scaleStep;this.zoom-=e,this.updatePreviewImageTransform(),this.updateZoomOutDisabled(),this.zoom<=1&&this.reCenterImage()}}onRotateRight(){this.rotate+=90,this.updatePreviewImageTransform()}onRotateLeft(){this.rotate-=90,this.updatePreviewImageTransform()}onSwitchLeft(e){e.preventDefault(),e.stopPropagation(),this.prev()}onSwitchRight(e){e.preventDefault(),e.stopPropagation(),this.next()}onHorizontalFlip(){this.flipHorizontally=!this.flipHorizontally,this.updatePreviewImageTransform()}onVerticalFlip(){this.flipVertically=!this.flipVertically,this.updatePreviewImageTransform()}wheelZoomEventHandler(e){e.preventDefault(),e.stopPropagation(),this.handlerImageTransformationWhileZoomingWithMouse(e,e.deltaY),this.handleImageScaleWhileZoomingWithMouse(e.deltaY),this.updatePreviewImageWrapperTransform(),this.updatePreviewImageTransform(),this.markForCheck()}onAnimationStart(e){this.animationStateChanged.emit(e)}onAnimationDone(e){this.animationStateChanged.emit(e)}onDragEnd(e){this.isDragging=!1;let n=this.imageRef.nativeElement.offsetWidth*this.zoom,i=this.imageRef.nativeElement.offsetHeight*this.zoom,{left:o,top:m}=it(this.imageRef.nativeElement),{width:c,height:f}=nt(),S=this.rotate%180!==0,y=tt({width:S?i:n,height:S?n:i,left:o,top:m,clientWidth:c,clientHeight:f});T(y.x)||T(y.y)?this.position=b(b({},this.position),y):!T(y.x)&&!T(y.y)&&(this.position={x:e.source.getFreeDragPosition().x,y:e.source.getFreeDragPosition().y})}sanitizerResourceUrl(e){return this.sanitizer.bypassSecurityTrustResourceUrl(e)}updatePreviewImageTransform(){this.previewImageTransform=`scale3d(${this.zoom*(this.flipHorizontally?-1:1)}, ${this.zoom*(this.flipVertically?-1:1)}, 1) rotate(${this.rotate}deg)`}updatePreviewImageWrapperTransform(){this.previewImageWrapperTransform=`translate3d(${this.position.x}px, ${this.position.y}px, 0)`}updateZoomOutDisabled(){this.zoomOutDisabled=this.zoom<=1}handlerImageTransformationWhileZoomingWithMouse(e,n){let i,o=this.imageRef.nativeElement,c=getComputedStyle(o).transform.match(/matrix.*\((.+)\)/);c?i=+c[1].split(", ")[0]:i=this.zoom;let f=(e.clientX-o.getBoundingClientRect().x)/i,S=(e.clientY-o.getBoundingClientRect().y)/i,w=n<0?this.scaleStep/2:-this.scaleStep/2;this.position.x+=-f*w*2+o.offsetWidth*w,this.position.y+=-S*w*2+o.offsetHeight*w}handleImageScaleWhileZoomingWithMouse(e){this.isZoomedInWithMouseWheel(e)?this.onZoomIn():this.onZoomOut(),this.zoom<=1&&this.reCenterImage()}isZoomedInWithMouseWheel(e){return e<0}reset(){this.zoom=this.config.nzZoom??this._defaultNzZoom,this.scaleStep=this.config.nzScaleStep??this._defaultNzScaleStep,this.rotate=this.config.nzRotate??this._defaultNzRotate,this.flipHorizontally=!1,this.flipVertically=!1,this.reCenterImage()}reCenterImage(){this.position=b({},Ae)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=K({type:t,selectors:[["nz-image-preview"]],viewQuery:function(n,i){if(n&1&&(te(Ue,5),te(Qe,7)),n&2){let o;ie(o=ne())&&(i.imageRef=o.first),ie(o=ne())&&(i.imagePreviewWrapper=o.first)}},hostAttrs:[1,"ant-image-preview-root"],hostVars:6,hostBindings:function(n,i){n&1&&_e("@fadeMotion.start",function(m){return i.onAnimationStart(m)})("@fadeMotion.done",function(m){return i.onAnimationDone(m)}),n&2&&(ye("@.disabled",i.config.nzNoAnimation)("@fadeMotion",i.visible?"enter":"leave"),L("z-index",i.config.nzZIndex),x("ant-image-preview-moving",i.isDragging))},exportAs:["nzImagePreview"],decls:17,vars:5,consts:[["imagePreviewWrapper",""],["imgRef",""],[1,"ant-image-preview-mask"],[1,"ant-image-preview-operations-wrapper"],[1,"ant-image-preview-operations"],[1,"ant-image-preview-operations-progress"],[1,"ant-image-preview-operations-operation",3,"ant-image-preview-operations-operation-disabled"],["tabindex","-1",1,"ant-image-preview-wrap",3,"click"],["role","dialog","aria-modal","true",1,"ant-image-preview"],["tabindex","0","aria-hidden","true",1,"ant-image-preview-focus-trap"],[1,"ant-image-preview-content"],[1,"ant-image-preview-body"],["cdkDrag","",1,"ant-image-preview-img-wrapper",3,"cdkDragEnded","cdkDragFreeDragPosition"],[1,"ant-image-preview-switch-left",3,"click"],["nzType","left","nzTheme","outline"],[1,"ant-image-preview-switch-right",3,"click"],["nzType","right","nzTheme","outline"],[1,"ant-image-preview-operations-operation",3,"click"],["nzTheme","outline",1,"ant-image-preview-operations-icon",3,"nzType","nzRotate"],["cdkDragHandle","",1,"ant-image-preview-img",3,"width","height","transform"],["cdkDragHandle","",1,"ant-image-preview-img"]],template:function(n,i){if(n&1){let o=H();C(0,"div",2),g(1,"div",3),Z(2,Ye,4,4),g(3,"ul",4),Z(4,Ke,2,2,"li",5),X(5,qe,2,4,"li",6,q),_()(),g(7,"div",7),k("click",function(c){return P(o),D(i.maskClosable&&c.target===c.currentTarget&&i.onClose())}),g(8,"div",8),C(9,"div",9),g(10,"div",10)(11,"div",11)(12,"div",12,0),k("cdkDragEnded",function(c){return P(o),D(i.onDragEnd(c))}),X(14,Je,1,1,null,null,q),_()()(),C(16,"div",9),_()()}n&2&&(z(2),W(i.images.length>1?2:-1),z(2),W(i.images.length>1?4:-1),z(),J(i.operations),z(7),L("transform",i.previewImageWrapperTransform),ee("cdkDragFreeDragPosition",i.position),z(2),J(i.images))},dependencies:[Me,Fe,Oe,Ze],encapsulation:2,data:{animation:[We]},changeDetection:0})}return t})(),le=class{previewInstance;config;overlayRef;destroy$=new F;constructor(r,e,n){this.previewInstance=r,this.config=e,this.overlayRef=n,n.keydownEvents().pipe(M(i=>this.config.nzKeyboard&&(i.keyCode===27||i.keyCode===37||i.keyCode===39)&&!Ee(i))).subscribe(i=>{i.preventDefault(),i.keyCode===27&&r.onClose(),i.keyCode===37&&this.prev(),i.keyCode===39&&this.next()}),n.detachments().subscribe(()=>{this.overlayRef.dispose()}),r.closeClick.pipe(ce(1),me(()=>r.animationStateChanged),M(i=>i.phaseName==="done"),O(this.destroy$)).subscribe(()=>{this.close()})}switchTo(r){this.previewInstance.switchTo(r)}next(){this.previewInstance.next()}prev(){this.previewInstance.prev()}close(){this.destroy$.next(),this.overlayRef.dispose()}},Ge=(()=>{class t{injector=s(B);nzConfigService=s(A);directionality=s(ae);preview(e,n,i){return this.display(e,n,i)}display(e,n,i){let o=b(b({},new N),n??{}),m=this.createOverlay(o),c=this.attachPreviewComponent(m,o);c.setImages(e,i);let f=new le(c,o,m);return c.previewRef=f,f}attachPreviewComponent(e,n){let i=B.create({parent:this.injector,providers:[{provide:Te,useValue:e},{provide:N,useValue:n}]}),o=new De(je,null,i);return e.attach(o).instance}createOverlay(e){let n=this.nzConfigService.getConfigForComponent($e)||{};return Ne(this.injector,{scrollStrategy:xe(this.injector),positionStrategy:Re(this.injector),disposeOnNavigation:e.nzCloseOnNavigation??n.nzCloseOnNavigation??!0,direction:e.nzDirection||n.nzDirection||this.directionality.value})}static \u0275fac=function(n){return new(n||t)};static \u0275prov=he({token:t,factory:t.\u0275fac})}return t})(),rt="image",Nt=(()=>{var p;let t,r=[],e=[],n,i=[],o=[],m,c=[],f=[],S,w=[],y=[];return p=class{document=s(U);nzConfigService=s(A);elementRef=s(ge);nzImageService=s(Ge);cdr=s(oe);directionality=s(ae);destroyRef=s(Q);_nzModuleName=rt;nzSrc="";nzSrcset="";nzDisablePreview=u(this,r,!1);nzFallback=(u(this,e),u(this,i,null));nzPlaceholder=(u(this,o),u(this,c,null));nzScaleStep=(u(this,f),u(this,w,null));dir=u(this,y);backLoadImage;status="normal";backLoadDestroy$=new F;parentGroup=s(et,{optional:!0});get previewable(){return!this.nzDisablePreview&&this.status!=="error"}ngOnInit(){this.backLoad(),this.parentGroup&&this.parentGroup.addImage(this),this.directionality&&(this.directionality.change?.pipe(I(this.destroyRef)).subscribe(l=>{this.dir=l,this.cdr.detectChanges()}),this.dir=this.directionality.value)}onPreview(){if(this.previewable)if(this.parentGroup){let l=this.parentGroup.images.filter(d=>d.previewable),a=l.map(d=>({src:d.nzSrc,srcset:d.nzSrcset})),h=l.findIndex(d=>this===d),$=new Map;l.forEach(d=>{$.set(d.nzSrc??d.nzSrcset,d.nzScaleStep??this.parentGroup.nzScaleStep??this.nzScaleStep??se)}),this.nzImageService.preview(a,{nzDirection:this.dir},$).switchTo(h)}else{let l=[{src:this.nzSrc,srcset:this.nzSrcset}];this.nzImageService.preview(l,{nzDirection:this.dir,nzScaleStep:this.nzScaleStep??se})}}getElement(){return this.elementRef}ngOnChanges(l){let{nzSrc:a}=l;a&&(this.getElement().nativeElement.src=a.currentValue,this.backLoad())}backLoad(){this.backLoadImage=this.document.createElement("img"),this.backLoadImage.src=this.nzSrc,this.backLoadImage.srcset=this.nzSrcset,this.status="loading",this.backLoadDestroy$.next(),this.backLoadDestroy$.complete(),this.backLoadDestroy$=new F,this.backLoadImage.complete?(this.status="normal",this.getElement().nativeElement.src=this.nzSrc,this.getElement().nativeElement.srcset=this.nzSrcset):(this.nzPlaceholder?(this.getElement().nativeElement.src=this.nzPlaceholder,this.getElement().nativeElement.srcset=""):(this.getElement().nativeElement.src=this.nzSrc,this.getElement().nativeElement.srcset=this.nzSrcset),G(this.backLoadImage,"load").pipe(O(this.backLoadDestroy$),I(this.destroyRef)).subscribe(()=>{this.status="normal",this.getElement().nativeElement.src=this.nzSrc,this.getElement().nativeElement.srcset=this.nzSrcset}),G(this.backLoadImage,"error").pipe(O(this.backLoadDestroy$),I(this.destroyRef)).subscribe(()=>{this.status="error",this.nzFallback&&(this.getElement().nativeElement.src=this.nzFallback,this.getElement().nativeElement.srcset="")}))}},(()=>{let l=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;t=[R()],n=[R()],m=[R()],S=[R()],E(null,null,t,{kind:"field",name:"nzDisablePreview",static:!1,private:!1,access:{has:a=>"nzDisablePreview"in a,get:a=>a.nzDisablePreview,set:(a,h)=>{a.nzDisablePreview=h}},metadata:l},r,e),E(null,null,n,{kind:"field",name:"nzFallback",static:!1,private:!1,access:{has:a=>"nzFallback"in a,get:a=>a.nzFallback,set:(a,h)=>{a.nzFallback=h}},metadata:l},i,o),E(null,null,m,{kind:"field",name:"nzPlaceholder",static:!1,private:!1,access:{has:a=>"nzPlaceholder"in a,get:a=>a.nzPlaceholder,set:(a,h)=>{a.nzPlaceholder=h}},metadata:l},c,f),E(null,null,S,{kind:"field",name:"nzScaleStep",static:!1,private:!1,access:{has:a=>"nzScaleStep"in a,get:a=>a.nzScaleStep,set:(a,h)=>{a.nzScaleStep=h}},metadata:l},w,y),l&&Object.defineProperty(p,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:l})})(),j(p,"\u0275fac",function(a){return new(a||p)}),j(p,"\u0275dir",ve({type:p,selectors:[["img","nz-image",""]],hostBindings:function(a,h){a&1&&k("click",function(){return h.onPreview()})},inputs:{nzSrc:"nzSrc",nzSrcset:"nzSrcset",nzDisablePreview:[2,"nzDisablePreview","nzDisablePreview",Ie],nzFallback:"nzFallback",nzPlaceholder:"nzPlaceholder",nzScaleStep:"nzScaleStep"},exportAs:["nzImage"],features:[de]})),p})(),Ft=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=ze({type:t});static \u0275inj=pe({providers:[Ge],imports:[je]})}return t})();export{et as a,Ge as b,Nt as c,Ft as d};
1
+ import{a as Oe,b as Ze}from"./chunk-4X42HB6N.js";import{E as Te,G as Re,Ga as Fe,H as Ne,Ha as Me,L as I,U as T,a as ae,kb as We,r as De,ra as V,ta as A,va as R,x as Ee,y as xe}from"./chunk-3CM4SKDO.js";import{A as Pe}from"./chunk-KRYMOHYF.js";import{$b as X,Ac as ne,Ba as B,Ca as U,Da as Q,Fb as K,Fc as L,Gb as ze,Gc as x,Hb as ve,I as G,Jc as be,M,Mc as ke,Oa as de,Ra as ge,S as ce,Ub as we,Wb as Z,Yb as W,_b as q,a as b,ac as J,bc as ee,cc as g,dc as _,ea as me,ec as C,f as j,fa as O,kb as fe,l as F,lc as H,na as he,nb as z,nc as ye,oa as pe,r as E,rc as k,s as u,sa as s,sb as Y,sc as _e,tb as ue,uc as v,ud as oe,vc as Ce,wc as Se,ya as P,yc as te,yd as Ie,za as D,zc as ie}from"./chunk-4BRW6LCZ.js";var Be=["*"],Ue=["imgRef"],Qe=["imagePreviewWrapper"];function Ye(t,r){if(t&1){let e=H();g(0,"div",13),k("click",function(i){P(e);let o=v();return D(o.onSwitchLeft(i))}),C(1,"nz-icon",14),_(),g(2,"div",15),k("click",function(i){P(e);let o=v();return D(o.onSwitchRight(i))}),C(3,"nz-icon",16),_()}if(t&2){let e=v();x("ant-image-preview-switch-left-disabled",e.index<=0),z(2),x("ant-image-preview-switch-right-disabled",e.index>=e.images.length-1)}}function Ke(t,r){if(t&1&&(g(0,"li",5),be(1),_()),t&2){let e=v();z(),ke("",e.index+1," / ",e.images.length)}}function qe(t,r){if(t&1){let e=H();g(0,"li",17),k("click",function(){let i=P(e).$implicit;return D(i.onClick())}),C(1,"nz-icon",18),_()}if(t&2){let e=r.$implicit,n=v();x("ant-image-preview-operations-operation-disabled",n.zoomOutDisabled&&e.type==="zoomOut"),z(),ee("nzType",e.icon)("nzRotate",e.rotate??0)}}function Xe(t,r){if(t&1&&C(0,"img",20,1),t&2){let e=v().$implicit,n=v();L("width",e.width)("height",e.height)("transform",n.previewImageTransform),we("src",n.sanitizerResourceUrl(e.src),fe)("srcset",e.srcset)("alt",e.alt)}}function Je(t,r){if(t&1&&Z(0,Xe,2,9,"img",19),t&2){let e=r.$index,n=v();W(e===n.index?0:-1)}}var et=(()=>{class t{nzScaleStep=null;images=[];addImage(e){this.images.push(e)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=K({type:t,selectors:[["nz-image-group"]],inputs:{nzScaleStep:"nzScaleStep"},exportAs:["nzImageGroup"],ngContentSelectors:Be,decls:1,vars:0,template:function(n,i){n&1&&(Ce(),Se(0))},encapsulation:2,changeDetection:0})}return t})(),$e="image",N=class{nzKeyboard=!0;nzNoAnimation=!1;nzMaskClosable=!0;nzCloseOnNavigation=!0;nzZIndex;nzZoom;nzRotate;nzFlipHorizontally;nzFlipVertically;nzScaleStep;nzDirection};function tt(t){let r={};return t.width<=t.clientWidth&&t.height<=t.clientHeight&&(r={x:0,y:0}),(t.width>t.clientWidth||t.height>t.clientHeight)&&(r={x:Ve(t.left,t.width,t.clientWidth),y:Ve(t.top,t.height,t.clientHeight)}),r}function it(t){let r=t.getBoundingClientRect(),e=document.documentElement;return{left:r.left+(window.pageXOffset||e.scrollLeft)-(e.clientLeft||document.body.clientLeft||0),top:r.top+(window.pageYOffset||e.scrollTop)-(e.clientTop||document.body.clientTop||0)}}function nt(){let t=document.documentElement.clientWidth,r=window.innerHeight||document.documentElement.clientHeight;return{width:t,height:r}}function Ve(t,r,e){let n=t+r,i=(r-e)/2,o=null;return r>e?(t>0&&(o=i),t<0&&n<e&&(o=-i)):(t<0||n>e)&&(o=t<0?i:-i),o}var Ae={x:0,y:0},se=.5,ot=1,at=0,je=(()=>{class t{document=s(U);ngZone=s(ue);cdr=s(oe);nzConfigService=s(A);config=s(N);sanitizer=s(Pe);destroyRef=s(Q);_defaultNzZoom=ot;_defaultNzScaleStep=se;_defaultNzRotate=at;images=[];index=0;isDragging=!1;visible=!0;animationStateChanged=new Y;scaleStepMap=new Map;previewImageTransform="";previewImageWrapperTransform="";operations=[{icon:"close",onClick:()=>{this.onClose()},type:"close"},{icon:"zoom-in",onClick:()=>{this.onZoomIn()},type:"zoomIn"},{icon:"zoom-out",onClick:()=>{this.onZoomOut()},type:"zoomOut"},{icon:"rotate-right",onClick:()=>{this.onRotateRight()},type:"rotateRight"},{icon:"rotate-left",onClick:()=>{this.onRotateLeft()},type:"rotateLeft"},{icon:"swap",onClick:()=>{this.onHorizontalFlip()},type:"flipHorizontally"},{icon:"swap",onClick:()=>{this.onVerticalFlip()},type:"flipVertically",rotate:90}];zoomOutDisabled=!1;position=b({},Ae);previewRef;closeClick=new Y;imageRef;imagePreviewWrapper;zoom=this.config.nzZoom??this._defaultNzZoom;rotate=this.config.nzRotate??this._defaultNzRotate;scaleStep=this.config.nzScaleStep??this._defaultNzScaleStep;flipHorizontally=this.config.nzFlipHorizontally??!1;flipVertically=this.config.nzFlipVertically??!1;get animationDisabled(){return this.config.nzNoAnimation??!1}get maskClosable(){let e=this.nzConfigService.getConfigForComponent($e)||{};return this.config.nzMaskClosable??e.nzMaskClosable??!0}constructor(){this.updateZoomOutDisabled(),this.updatePreviewImageTransform(),this.updatePreviewImageWrapperTransform()}ngOnInit(){V(this.imagePreviewWrapper.nativeElement,"mousedown").pipe(I(this.destroyRef)).subscribe(()=>{this.isDragging=!0}),V(this.imagePreviewWrapper.nativeElement,"wheel").pipe(I(this.destroyRef)).subscribe(e=>{this.ngZone.run(()=>this.wheelZoomEventHandler(e))}),V(this.document,"keydown").pipe(M(e=>e.keyCode===27),I(this.destroyRef)).subscribe(()=>{this.ngZone.run(()=>{this.onClose(),this.markForCheck()})})}setImages(e,n){n&&(this.scaleStepMap=n),this.images=e,this.markForCheck()}switchTo(e){this.index=e,this.markForCheck()}next(){this.index<this.images.length-1&&(this.reset(),this.index++,this.updatePreviewImageTransform(),this.updatePreviewImageWrapperTransform(),this.updateZoomOutDisabled(),this.markForCheck())}prev(){this.index>0&&(this.reset(),this.index--,this.updatePreviewImageTransform(),this.updatePreviewImageWrapperTransform(),this.updateZoomOutDisabled(),this.markForCheck())}markForCheck(){this.cdr.markForCheck()}onClose(){this.visible=!1,this.closeClick.emit()}onZoomIn(){let e=this.scaleStepMap.get(this.images[this.index].src??this.images[this.index].srcset)??this.scaleStep;this.zoom+=e,this.updatePreviewImageTransform(),this.updateZoomOutDisabled()}onZoomOut(){if(this.zoom>1){let e=this.scaleStepMap.get(this.images[this.index].src??this.images[this.index].srcset)??this.scaleStep;this.zoom-=e,this.updatePreviewImageTransform(),this.updateZoomOutDisabled(),this.zoom<=1&&this.reCenterImage()}}onRotateRight(){this.rotate+=90,this.updatePreviewImageTransform()}onRotateLeft(){this.rotate-=90,this.updatePreviewImageTransform()}onSwitchLeft(e){e.preventDefault(),e.stopPropagation(),this.prev()}onSwitchRight(e){e.preventDefault(),e.stopPropagation(),this.next()}onHorizontalFlip(){this.flipHorizontally=!this.flipHorizontally,this.updatePreviewImageTransform()}onVerticalFlip(){this.flipVertically=!this.flipVertically,this.updatePreviewImageTransform()}wheelZoomEventHandler(e){e.preventDefault(),e.stopPropagation(),this.handlerImageTransformationWhileZoomingWithMouse(e,e.deltaY),this.handleImageScaleWhileZoomingWithMouse(e.deltaY),this.updatePreviewImageWrapperTransform(),this.updatePreviewImageTransform(),this.markForCheck()}onAnimationStart(e){this.animationStateChanged.emit(e)}onAnimationDone(e){this.animationStateChanged.emit(e)}onDragEnd(e){this.isDragging=!1;let n=this.imageRef.nativeElement.offsetWidth*this.zoom,i=this.imageRef.nativeElement.offsetHeight*this.zoom,{left:o,top:m}=it(this.imageRef.nativeElement),{width:c,height:f}=nt(),S=this.rotate%180!==0,y=tt({width:S?i:n,height:S?n:i,left:o,top:m,clientWidth:c,clientHeight:f});T(y.x)||T(y.y)?this.position=b(b({},this.position),y):!T(y.x)&&!T(y.y)&&(this.position={x:e.source.getFreeDragPosition().x,y:e.source.getFreeDragPosition().y})}sanitizerResourceUrl(e){return this.sanitizer.bypassSecurityTrustResourceUrl(e)}updatePreviewImageTransform(){this.previewImageTransform=`scale3d(${this.zoom*(this.flipHorizontally?-1:1)}, ${this.zoom*(this.flipVertically?-1:1)}, 1) rotate(${this.rotate}deg)`}updatePreviewImageWrapperTransform(){this.previewImageWrapperTransform=`translate3d(${this.position.x}px, ${this.position.y}px, 0)`}updateZoomOutDisabled(){this.zoomOutDisabled=this.zoom<=1}handlerImageTransformationWhileZoomingWithMouse(e,n){let i,o=this.imageRef.nativeElement,c=getComputedStyle(o).transform.match(/matrix.*\((.+)\)/);c?i=+c[1].split(", ")[0]:i=this.zoom;let f=(e.clientX-o.getBoundingClientRect().x)/i,S=(e.clientY-o.getBoundingClientRect().y)/i,w=n<0?this.scaleStep/2:-this.scaleStep/2;this.position.x+=-f*w*2+o.offsetWidth*w,this.position.y+=-S*w*2+o.offsetHeight*w}handleImageScaleWhileZoomingWithMouse(e){this.isZoomedInWithMouseWheel(e)?this.onZoomIn():this.onZoomOut(),this.zoom<=1&&this.reCenterImage()}isZoomedInWithMouseWheel(e){return e<0}reset(){this.zoom=this.config.nzZoom??this._defaultNzZoom,this.scaleStep=this.config.nzScaleStep??this._defaultNzScaleStep,this.rotate=this.config.nzRotate??this._defaultNzRotate,this.flipHorizontally=!1,this.flipVertically=!1,this.reCenterImage()}reCenterImage(){this.position=b({},Ae)}static \u0275fac=function(n){return new(n||t)};static \u0275cmp=K({type:t,selectors:[["nz-image-preview"]],viewQuery:function(n,i){if(n&1&&(te(Ue,5),te(Qe,7)),n&2){let o;ie(o=ne())&&(i.imageRef=o.first),ie(o=ne())&&(i.imagePreviewWrapper=o.first)}},hostAttrs:[1,"ant-image-preview-root"],hostVars:6,hostBindings:function(n,i){n&1&&_e("@fadeMotion.start",function(m){return i.onAnimationStart(m)})("@fadeMotion.done",function(m){return i.onAnimationDone(m)}),n&2&&(ye("@.disabled",i.config.nzNoAnimation)("@fadeMotion",i.visible?"enter":"leave"),L("z-index",i.config.nzZIndex),x("ant-image-preview-moving",i.isDragging))},exportAs:["nzImagePreview"],decls:17,vars:5,consts:[["imagePreviewWrapper",""],["imgRef",""],[1,"ant-image-preview-mask"],[1,"ant-image-preview-operations-wrapper"],[1,"ant-image-preview-operations"],[1,"ant-image-preview-operations-progress"],[1,"ant-image-preview-operations-operation",3,"ant-image-preview-operations-operation-disabled"],["tabindex","-1",1,"ant-image-preview-wrap",3,"click"],["role","dialog","aria-modal","true",1,"ant-image-preview"],["tabindex","0","aria-hidden","true",1,"ant-image-preview-focus-trap"],[1,"ant-image-preview-content"],[1,"ant-image-preview-body"],["cdkDrag","",1,"ant-image-preview-img-wrapper",3,"cdkDragEnded","cdkDragFreeDragPosition"],[1,"ant-image-preview-switch-left",3,"click"],["nzType","left","nzTheme","outline"],[1,"ant-image-preview-switch-right",3,"click"],["nzType","right","nzTheme","outline"],[1,"ant-image-preview-operations-operation",3,"click"],["nzTheme","outline",1,"ant-image-preview-operations-icon",3,"nzType","nzRotate"],["cdkDragHandle","",1,"ant-image-preview-img",3,"width","height","transform"],["cdkDragHandle","",1,"ant-image-preview-img"]],template:function(n,i){if(n&1){let o=H();C(0,"div",2),g(1,"div",3),Z(2,Ye,4,4),g(3,"ul",4),Z(4,Ke,2,2,"li",5),X(5,qe,2,4,"li",6,q),_()(),g(7,"div",7),k("click",function(c){return P(o),D(i.maskClosable&&c.target===c.currentTarget&&i.onClose())}),g(8,"div",8),C(9,"div",9),g(10,"div",10)(11,"div",11)(12,"div",12,0),k("cdkDragEnded",function(c){return P(o),D(i.onDragEnd(c))}),X(14,Je,1,1,null,null,q),_()()(),C(16,"div",9),_()()}n&2&&(z(2),W(i.images.length>1?2:-1),z(2),W(i.images.length>1?4:-1),z(),J(i.operations),z(7),L("transform",i.previewImageWrapperTransform),ee("cdkDragFreeDragPosition",i.position),z(2),J(i.images))},dependencies:[Me,Fe,Oe,Ze],encapsulation:2,data:{animation:[We]},changeDetection:0})}return t})(),le=class{previewInstance;config;overlayRef;destroy$=new F;constructor(r,e,n){this.previewInstance=r,this.config=e,this.overlayRef=n,n.keydownEvents().pipe(M(i=>this.config.nzKeyboard&&(i.keyCode===27||i.keyCode===37||i.keyCode===39)&&!Ee(i))).subscribe(i=>{i.preventDefault(),i.keyCode===27&&r.onClose(),i.keyCode===37&&this.prev(),i.keyCode===39&&this.next()}),n.detachments().subscribe(()=>{this.overlayRef.dispose()}),r.closeClick.pipe(ce(1),me(()=>r.animationStateChanged),M(i=>i.phaseName==="done"),O(this.destroy$)).subscribe(()=>{this.close()})}switchTo(r){this.previewInstance.switchTo(r)}next(){this.previewInstance.next()}prev(){this.previewInstance.prev()}close(){this.destroy$.next(),this.overlayRef.dispose()}},Ge=(()=>{class t{injector=s(B);nzConfigService=s(A);directionality=s(ae);preview(e,n,i){return this.display(e,n,i)}display(e,n,i){let o=b(b({},new N),n??{}),m=this.createOverlay(o),c=this.attachPreviewComponent(m,o);c.setImages(e,i);let f=new le(c,o,m);return c.previewRef=f,f}attachPreviewComponent(e,n){let i=B.create({parent:this.injector,providers:[{provide:Te,useValue:e},{provide:N,useValue:n}]}),o=new De(je,null,i);return e.attach(o).instance}createOverlay(e){let n=this.nzConfigService.getConfigForComponent($e)||{};return Ne(this.injector,{scrollStrategy:xe(this.injector),positionStrategy:Re(this.injector),disposeOnNavigation:e.nzCloseOnNavigation??n.nzCloseOnNavigation??!0,direction:e.nzDirection||n.nzDirection||this.directionality.value})}static \u0275fac=function(n){return new(n||t)};static \u0275prov=he({token:t,factory:t.\u0275fac})}return t})(),rt="image",Nt=(()=>{var p;let t,r=[],e=[],n,i=[],o=[],m,c=[],f=[],S,w=[],y=[];return p=class{document=s(U);nzConfigService=s(A);elementRef=s(ge);nzImageService=s(Ge);cdr=s(oe);directionality=s(ae);destroyRef=s(Q);_nzModuleName=rt;nzSrc="";nzSrcset="";nzDisablePreview=u(this,r,!1);nzFallback=(u(this,e),u(this,i,null));nzPlaceholder=(u(this,o),u(this,c,null));nzScaleStep=(u(this,f),u(this,w,null));dir=u(this,y);backLoadImage;status="normal";backLoadDestroy$=new F;parentGroup=s(et,{optional:!0});get previewable(){return!this.nzDisablePreview&&this.status!=="error"}ngOnInit(){this.backLoad(),this.parentGroup&&this.parentGroup.addImage(this),this.directionality&&(this.directionality.change?.pipe(I(this.destroyRef)).subscribe(l=>{this.dir=l,this.cdr.detectChanges()}),this.dir=this.directionality.value)}onPreview(){if(this.previewable)if(this.parentGroup){let l=this.parentGroup.images.filter(d=>d.previewable),a=l.map(d=>({src:d.nzSrc,srcset:d.nzSrcset})),h=l.findIndex(d=>this===d),$=new Map;l.forEach(d=>{$.set(d.nzSrc??d.nzSrcset,d.nzScaleStep??this.parentGroup.nzScaleStep??this.nzScaleStep??se)}),this.nzImageService.preview(a,{nzDirection:this.dir},$).switchTo(h)}else{let l=[{src:this.nzSrc,srcset:this.nzSrcset}];this.nzImageService.preview(l,{nzDirection:this.dir,nzScaleStep:this.nzScaleStep??se})}}getElement(){return this.elementRef}ngOnChanges(l){let{nzSrc:a}=l;a&&(this.getElement().nativeElement.src=a.currentValue,this.backLoad())}backLoad(){this.backLoadImage=this.document.createElement("img"),this.backLoadImage.src=this.nzSrc,this.backLoadImage.srcset=this.nzSrcset,this.status="loading",this.backLoadDestroy$.next(),this.backLoadDestroy$.complete(),this.backLoadDestroy$=new F,this.backLoadImage.complete?(this.status="normal",this.getElement().nativeElement.src=this.nzSrc,this.getElement().nativeElement.srcset=this.nzSrcset):(this.nzPlaceholder?(this.getElement().nativeElement.src=this.nzPlaceholder,this.getElement().nativeElement.srcset=""):(this.getElement().nativeElement.src=this.nzSrc,this.getElement().nativeElement.srcset=this.nzSrcset),G(this.backLoadImage,"load").pipe(O(this.backLoadDestroy$),I(this.destroyRef)).subscribe(()=>{this.status="normal",this.getElement().nativeElement.src=this.nzSrc,this.getElement().nativeElement.srcset=this.nzSrcset}),G(this.backLoadImage,"error").pipe(O(this.backLoadDestroy$),I(this.destroyRef)).subscribe(()=>{this.status="error",this.nzFallback&&(this.getElement().nativeElement.src=this.nzFallback,this.getElement().nativeElement.srcset="")}))}},(()=>{let l=typeof Symbol=="function"&&Symbol.metadata?Object.create(null):void 0;t=[R()],n=[R()],m=[R()],S=[R()],E(null,null,t,{kind:"field",name:"nzDisablePreview",static:!1,private:!1,access:{has:a=>"nzDisablePreview"in a,get:a=>a.nzDisablePreview,set:(a,h)=>{a.nzDisablePreview=h}},metadata:l},r,e),E(null,null,n,{kind:"field",name:"nzFallback",static:!1,private:!1,access:{has:a=>"nzFallback"in a,get:a=>a.nzFallback,set:(a,h)=>{a.nzFallback=h}},metadata:l},i,o),E(null,null,m,{kind:"field",name:"nzPlaceholder",static:!1,private:!1,access:{has:a=>"nzPlaceholder"in a,get:a=>a.nzPlaceholder,set:(a,h)=>{a.nzPlaceholder=h}},metadata:l},c,f),E(null,null,S,{kind:"field",name:"nzScaleStep",static:!1,private:!1,access:{has:a=>"nzScaleStep"in a,get:a=>a.nzScaleStep,set:(a,h)=>{a.nzScaleStep=h}},metadata:l},w,y),l&&Object.defineProperty(p,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:l})})(),j(p,"\u0275fac",function(a){return new(a||p)}),j(p,"\u0275dir",ve({type:p,selectors:[["img","nz-image",""]],hostBindings:function(a,h){a&1&&k("click",function(){return h.onPreview()})},inputs:{nzSrc:"nzSrc",nzSrcset:"nzSrcset",nzDisablePreview:[2,"nzDisablePreview","nzDisablePreview",Ie],nzFallback:"nzFallback",nzPlaceholder:"nzPlaceholder",nzScaleStep:"nzScaleStep"},exportAs:["nzImage"],features:[de]})),p})(),Ft=(()=>{class t{static \u0275fac=function(n){return new(n||t)};static \u0275mod=ze({type:t});static \u0275inj=pe({providers:[Ge],imports:[je]})}return t})();export{et as a,Ge as b,Nt as c,Ft as d};