1 line
16 KiB
JavaScript
1 line
16 KiB
JavaScript
(this.webpackJsonp=this.webpackJsonp||[]).push([[173],{"2YhD":function(e,t,a){"use strict";a.d(t,"e",(function(){return n})),a.d(t,"g",(function(){return c})),a.d(t,"c",(function(){return l})),a.d(t,"h",(function(){return r})),a.d(t,"i",(function(){return i})),a.d(t,"d",(function(){return u})),a.d(t,"b",(function(){return o})),a.d(t,"f",(function(){return s})),a.d(t,"a",(function(){return m}));var n=["开发活动","社区协作","项目影响"],c={"开发活动":["开发质量","开发效率"],"社区协作":["个体开发者","商业公司"],"项目影响":["项目影响"]},l={"社区协作":"communityCooperation","开发活动":"developmentActivity","项目影响":"influence"},r={"开发质量":"developmentQuality","开发效率":"developmentEfficiency","个体开发者":"individual","商业公司":"company","项目影响":"influence"},i={developmentEfficiency:["PRNum","PRTime","commitNum","issueTime","ProjectActivity"],developmentQuality:["commitMessageQuality","issueNum"],individual:["individualLoss","individualNum","longTermIndividualNum"],company:["companyLead","companyLoss","companyNum","longTermCompanyNum"],influence:["branchNum","browseNum","forkNum","praiseNum","storeNum"]},u={PRNum:"PR数量",PRTime:"PR处理间隔",commitNum:"Commit数量",issueTime:"Issue处理间隔",commitMessageQuality:"Commit message质量",issueNum:"Issue数量",ProjectActivity:"项目活跃度",individualLoss:"长期贡献者稳定性",individualNum:"活跃开发者占比",longTermIndividualNum:"长期贡献者占比",companyLead:"公司主导",companyLoss:"公司贡献者流失预测",companyNum:"公司贡献者数量",longTermCompanyNum:"长期公司贡献者数量",browseNum:"浏览次数",forkNum:"Fork次数",praiseNum:"点赞次数",storeNum:"关注数量",branchNum:"分支数量"},o={"Commitmessage质量":{desc:"可以通过每月新增Poor Message数量和Commit Message质量分布这两个维度对Commit message质量进行度量",radar:!0},"Issue数量":{desc:"通过分析项目每月提交的Issue数量对Issue数量指标进行度量"},"Commit数量":{desc:"通过分析项目每月提交的三种Commit数量对Commit数量指标进行度量"},"PR数量":{desc:"通过分析项目每月提交的PR数量对PR数量指标进行度量"},"PR处理间隔":{desc:"通过分析每个月新增PR的平均处理间隔对PR处理间隔(小时)指标进行度量"},"Issue处理间隔":{desc:"通过分析每个月新增Issue的平均处理间隔对Issue处理间隔(小时)指标进行度量"},"活跃开发者占比":{desc:"通过分析每个月活跃的个体贡献者数量对个体贡献者数量指标进行度量",descTitle:"个体贡献者数量"},"项目活跃度":{desc:"不同类型的贡献者每月/周给master分支的贡献次数",month:!0,user_login:!0,descTitle:"所有个体开发者贡献历史"},"长期贡献者占比":{desc:"通过分析每个月活跃的长期个体贡献者数量对长期个体贡献者数量指标进行度量",descTitle:"长期个体贡献者数量"},"长期贡献者稳定性":{desc:"通过分析具体的即将流失的长期贡献者流失概率对个体贡献者流失预测指标进行度量",user_login:!0,bar:!0,descTitle:"个体贡献者流失预测"},"公司贡献者数量":{desc:"通过分析每月做出了贡献的公司贡献者数量对公司贡献者数量指标进行度量"},"长期公司贡献者数量":{desc:"通过分析每月的长期对项目做出贡献的公司贡献者数量对长期公司贡献者数量指标进行度量"},"公司主导":{desc:"从每月公司贡献占比、每月公司总贡献、每月公司贡献最高模块中总贡献、公司总提交数四个方面对公司主导指标进行度量",radar:!0},"公司贡献者流失预测":{desc:"通过分析各个公司的流失概率对公司贡献者流失预测指标进行度量"},"浏览次数":{desc:"通过分析每月项目的浏览次数对浏览次数指标进行度量"},"点赞次数":{desc:"通过分析每月项目的点赞次数对点赞次数指标进行度量"},"关注数量":{desc:"通过分析每月项目的关注数量对关注数量指标进行度量"},"分支数量":{desc:"通过分析每月项目的分支数量对分支数量指标进行度量"},"Fork次数":{desc:"通过分析每月项目的新增Fork数量对Fork数量指标进行度量"}},s=function(e){var t=Math.round(e);return React.createElement("span",{className:"faYou",style:{color:t>=80?"#466aff":t<80&&t>=60?"#E18419":"#F70202"}},t)},m={"社区协作":"#F58400","开发活动":"#466AFF","项目影响":"#00BF9A"}},c9sG:function(e,t,a){"use strict";a.r(t),a("OaEy");var n=a("2fM7"),c=(a("sPJy"),a("bE4q")),l=a("zLi2"),r=a.n(l),i=a("/FZm"),u=a.n(i),o=a("+oHS"),s=a.n(o),m=a("mnMc"),f=a.n(m),d=a("o+MX"),p=a.n(d),v=a("FLGM"),E=a.n(v),g=a("526F"),h=a.n(g),y=a("cDcd"),b=a.n(y),O=a("2iEm"),N=(a("tZAq"),a("0lTi")),j=a.n(N),S=a("BF1V"),C=a.n(S),P=a("5PDf"),x=a.n(P),F=a("D3kx"),T=a.n(F),k=a("MT78"),w=a("2YhD"),L=a("j6J1"),I=a.n(L),R=function(e){var t=I()(e),a=e.title;return Object(y.useEffect)((function(){var e,n,c,l;t&&t.length>0&&(e=t,n=document.getElementById("Pie"),c=k.init(n),l={title:{text:a||"",left:20,top:20},tooltip:{trigger:"item"},color:["#5871FF","#FFBE38","#00bf9a"],legend:{orient:"horizontal",right:20,top:20,formatter:function(e){for(var t=l.series[0].data,a=0;a<t.length;a++)if(t[a].name==e)return 0===t[a].value?e+" (0)":e;return e}},series:[{name:"",type:"pie",radius:"50%",data:e,emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.5)"}},center:["50%","60%"]}]},c.setOption(l))}),[t]),b.a.createElement("div",{id:"Pie",style:{height:"300px"}})},A=function(e){var t=e.name,a=e.data,c=e.type,l=e.pieData,i=Object(y.useState)({}),u=r()(i,2),o=u[0],s=u[1],m=Object(y.useState)(a),f=r()(m,2),d=f[0],p=f[1],v=Object(y.useState)([]),g=r()(v,2),h=g[0],O=g[1],N=Object(y.useState)([]),S=r()(N,2),P=S[0],F=S[1],L=Object(y.useState)([]),I=r()(L,2),A=I[0],M=I[1];return Object(y.useEffect)((function(){if(t){var e=w.b[t.replace(/\s/g,"")];s(e)}}),[t]),Object(y.useEffect)((function(){if(a&&a.length>0)if(o&&o.user_login){var e=j()(new C.a(E()(a).call(a,(function(e){return e.user_login||""}))));O(e),F(e[0])}else p(a)}),[a,o&&o.user_login]),Object(y.useEffect)((function(){if(P){var e=a&&x()(a).call(a,(function(e){return e.user_login===P}));p(e)}}),[P]),Object(y.useEffect)((function(){d&&d.length>0&&function(e,a){var n=document.getElementById("line"),c=k.init(n),l={title:{text:""},tooltip:{trigger:"axis"},color:["#5871FF","#FFBE38"],grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:e},yAxis:{type:"value"},series:[{name:t,type:"line",stack:"Total",data:a}]};c.setOption(l)}(E()(d).call(d,(function(e){return e.month})),E()(d).call(d,(function(e){return T()(e[c]||e.count||e.commits_number||0).toFixed(2)})))}),[d]),Object(y.useEffect)((function(){if(l){var e=new Array;for(var t in l){var a={};""!=l[t]&&(a.name=t,a.value=l[t],e.push(a))}M(e)}}),[l]),b.a.createElement("div",null,b.a.createElement("div",{className:"dropEchartPanel"},o&&o.user_login&&P&&h&&h.length>0&&b.a.createElement("div",{style:{textAlign:"left",paddingLeft:20}},b.a.createElement("span",{className:"mr10"},"贡献者:"),b.a.createElement(n.a,{value:P,style:{width:220},onChange:function(e){F(e)}},E()(h).call(h,(function(e){return b.a.createElement(Option,{key:e},e)})))),b.a.createElement("div",{id:"line",style:{height:"350px"}})),l&&b.a.createElement("div",{className:"dropEchartPanel"},b.a.createElement(R,{values:A,title:"Commit Message质量分布"})))},M=a("STz3"),_=a.n(M),B=function(e){var t=e.x,a=I()(e),n=e.title,c=e.id;return Object(y.useEffect)((function(){var e,l,r,i,u;t&&a&&t.length>0&&a.length>0&&c&&(e=t,l=a,r=document.getElementById(c),i=k.init(r),u={title:{text:n||"",textStyle:{fontSize:17,fontWeight:"normal"},left:20,top:15},tooltip:{trigger:"axis"},color:["#5871FF","#FFBE38"],grid:{left:"3%",right:"4%",bottom:"3%",containLabel:!0},xAxis:{type:"category",boundaryGap:!1,data:e},yAxis:{type:"value"},series:l},i.setOption(u))}),[t,a,c]),b.a.createElement("div",{id:c,style:{height:"350px"}})},D=function(e){var t=e.data,a=Object(y.useState)([]),c=r()(a,2),l=c[0],i=c[1],u=Object(y.useState)([]),o=r()(u,2),m=o[0],f=o[1],d=Object(y.useState)([]),p=r()(d,2),v=p[0],g=p[1],h=Object(y.useState)([]),O=r()(h,2),N=O[0],j=O[1];return Object(y.useEffect)((function(){if(t){var e=s()(t);g(e),j(e[0])}}),[t]),Object(y.useEffect)((function(){if(t&&N){var e=t[N],a=e&&s()(e),n=e&&_()(e);i(a),f(n)}}),[t,N]),b.a.createElement("div",null,N&&v&&v.length>0&&b.a.createElement("div",{style:{textAlign:"left",paddingLeft:20}},b.a.createElement("span",{className:"mr10"},"公司名:"),b.a.createElement(n.a,{value:N,style:{width:220},onChange:function(e){j(e)}},E()(v).call(v,(function(e){return b.a.createElement(Option,{key:e},e)})))),b.a.createElement(B,{x:l,values:[{name:"",type:"line",stack:"Total",data:m}],id:"companyNum"}))},Q=a("lHQ6"),q=a.n(Q),z=a("2CTR"),G=function(e){var t=e.data,a=Object(y.useState)([]),c=r()(a,2),l=c[0],i=c[1],u=Object(y.useState)([]),o=r()(u,2),s=o[0],m=o[1],f=Object(y.useState)([]),d=r()(f,2),p=d[0],v=d[1],g=Object(y.useState)([]),h=r()(g,2),O=h[0],N=h[1],S=Object(y.useState)([]),P=r()(S,2),F=P[0],T=P[1],k=Object(y.useState)([]),w=r()(k,2),L=w[0],I=w[1],A=Object(y.useState)([]),M=r()(A,2),_=M[0],D=M[1],Q=Object(y.useState)([]),G=r()(Q,2),J=G[0],W=G[1],Y=Object(y.useState)([]),Z=r()(Y,2),H=Z[0],X=Z[1],V=Object(y.useState)([]),K=r()(V,2),U=K[0],$=K[1],ee=Object(y.useState)([]),te=r()(ee,2),ae=te[0],ne=te[1],ce=Object(y.useState)([]),le=r()(ce,2),re=le[0],ie=le[1],ue=Object(y.useState)([]),oe=r()(ue,2),se=oe[0],me=oe[1],fe=t.c1,de=t.c2,pe=t.c3,ve=t.c4;return Object(y.useEffect)((function(){if(fe&&fe.length>0){var e=j()(new C.a(E()(fe).call(fe,(function(e){return e.Module||""}))));D(e),W(e[0])}}),[fe]),Object(y.useEffect)((function(){if(J&&fe&&fe.length>0){var e=x()(fe).call(fe,(function(e){return e.Module===J})),t=j()(new C.a(E()(e).call(e,(function(e){return e.Company})))),a=E()(e).call(e,(function(e){return e.Month})),n=E()(e).call(e,(function(e){return e["Weight Ratio"]}));if(T(a),t&&t.length>0&&e.length>0){var c=E()(t).call(t,(function(t){var a=x()(e).call(e,(function(e){return e.Company==t})),n=E()(a).call(a,(function(e){return e["Weight Ratio"]}));return{name:t,type:"line",stack:"Total",data:n}}));I(c)}else I(n)}}),[fe,J]),Object(y.useEffect)((function(){if(de&&de.length>0){var e=j()(new C.a(E()(de).call(de,(function(e){return e.Company||""}))));v(e),N(e[0])}}),[de]),Object(y.useEffect)((function(){if(O&&de&&de.length>0){var e=x()(de).call(de,(function(e){return e.Company===O})),t=E()(e).call(e,(function(e){return e.Month})),a=E()(e).call(e,(function(e){return e["Total Weight"]}));i(t),m(a)}}),[de,O]),Object(y.useEffect)((function(){if(pe&&pe.length>0){var e=j()(new C.a(E()(pe).call(pe,(function(e){return e.Company||""}))));ne(e),ie(e[0])}}),[pe]),Object(y.useEffect)((function(){if(re&&pe&&pe.length>0){var e=x()(pe).call(pe,(function(e){return e.Company===re})),t=E()(e).call(e,(function(e){return e.Month})),a=E()(e).call(e,(function(e){return q()(e.Percentage)}));X(t),$(a)}}),[pe,re]),Object(y.useEffect)((function(){if(ve&&ve.length>0){var e=E()(ve).call(ve,(function(e){return{name:e.Company,value:e["Commit Count"]}}));me(e)}}),[ve]),fe||de||pe||ve?b.a.createElement(z.a,{_html:"暂无数据~"}):b.a.createElement("div",null,b.a.createElement("div",{className:"dropEchartPanel"},J&&_&&_.length>0&&b.a.createElement("div",{style:{textAlign:"left",paddingLeft:20}},b.a.createElement("span",{className:"mr10"},"公司名:"),b.a.createElement(n.a,{value:J,style:{width:220},onChange:function(e){W(e)}},E()(_).call(_,(function(e){return b.a.createElement(Option,{key:e},e)})))),b.a.createElement(B,{x:F,values:L,title:"每月公司贡献占比",id:"c1"})),b.a.createElement("div",{className:"dropEchartPanel"},O&&p&&p.length>0&&b.a.createElement("div",{style:{textAlign:"left",paddingLeft:20}},b.a.createElement("span",{className:"mr10"},"公司名:"),b.a.createElement(n.a,{value:O,style:{width:220},onChange:function(e){N(e)}},E()(p).call(p,(function(e){return b.a.createElement(Option,{key:e},e)})))),b.a.createElement(B,{x:l,values:[{name:"",type:"line",stack:"Total",data:s}],title:"每月公司总贡献",id:"c2"})),b.a.createElement("div",{className:"dropEchartPanel"},re&&ae&&ae.length>0&&b.a.createElement("div",{style:{textAlign:"left",paddingLeft:20}},b.a.createElement("span",{className:"mr10"},"公司名:"),b.a.createElement(n.a,{value:re,style:{width:220},onChange:function(e){ie(e)}},E()(ae).call(ae,(function(e){return b.a.createElement(Option,{key:e},e)})))),b.a.createElement(B,{x:H,values:[{name:"",type:"line",stack:"Total",data:U}],title:"每月公司贡献最高模块中总贡献",id:"c3"})),b.a.createElement("div",{className:"dropEchartPanel"},b.a.createElement(R,{title:"公司总提交数",values:se})))},J=a("vDqi"),W=a.n(J),Y={"开发质量":["Commit message质量","Issue数量"],"开发效率":["PR数量","PR处理间隔","Commit数量","Issue处理间隔","项目活跃度"],"个体开发者":["活跃开发者占比","长期贡献者占比","长期贡献者稳定性"],"商业公司":["公司主导","公司贡献者流失预测","公司贡献者数量","长期公司贡献者数量"],"项目影响":["Fork次数","点赞次数","关注数量"]};t.default=function(e){var t,a=e.match.params,l=a.type,i=a.owner,o=a.projectsId,m=Object(y.useState)([]),d=r()(m,2),v=d[0],g=d[1],N=Object(y.useState)([]),j=r()(N,2),S=j[0],C=j[1],P=Object(y.useState)(0),x=r()(P,2),F=x[0],T=x[1],k=Object(y.useState)(""),L=r()(k,2),I=L[0],R=L[1],M=Object(y.useState)([]),_=r()(M,2),B=_[0],Q=_[1],q=Object(y.useState)(""),J=r()(q,2),Z=J[0],H=J[1],X=Object(y.useState)([]),V=r()(X,2),K=V[0],U=V[1],$=Object(y.useState)(""),ee=r()($,2),te=ee[0],ae=ee[1],ne=function(e,t){var a;return u()(a=s()(e)).call(a,(function(a){var n;return f()(n=e[a]).call(n,t)}))};return Object(y.useEffect)((function(){if(l){m="storeNum"===l?"followNum":l,v=p()(d="/v1/".concat(i,"/")).call(d,o,"/oss_health_measuring/keyid"),W()(v,{params:{key_id:m}}).then((function(t){if(t){var a=t&&t.data;if(a){var n=a[m]?a[m].value:a.value,c=void 0!==a.score?a.score:a[m].score;C(a.distribution),g(n),"companyLoss"===m?(n=E()(n).call(n,(function(e){return{month:e.Company,count:e["Predicted State"]||0}})),g(n)):"companyNum"!==m&&"longTermCompanyNum"!==m&&"companyLead"!==m||(n=0===s()(a.value).length?[]:[h()(a.value)],g(n)),T(c)}}else{var l;e.history.push(p()(l="/".concat(i,"/")).call(l,o,"/service/measurement"))}}));var t=ne(w.i,l);if(t){var a=(n=w.h,c=t,u()(r=s()(n)).call(r,(function(e){var t;return f()(t=n[e]).call(t,c)})));H(a)}else H(B[0]);ae(w.d[l])}var n,c,r,m,d,v}),[l]),Object(y.useEffect)((function(){if(Z){U(Y[Z]);var e=ne(w.g,Z);R(e);var t=w.g[e];Q(t)}}),[Z]),b.a.createElement("div",null,b.a.createElement(c.a,{separator:">"},b.a.createElement(c.a.Item,null,b.a.createElement(O.a,{className:"color-blue",to:p()(t="/".concat(i,"/")).call(t,o,"/service/measurement")},"首页")),b.a.createElement(c.a.Item,null,I)),b.a.createElement("div",{className:"headBox font-16 pl15 mt20 df pr30 mb30"},I,b.a.createElement("span",{style:{marginLeft:"auto"}},b.a.createElement("span",null,"度量值:",b.a.createElement("em",{className:"color-blue font-26"},Object(w.f)(F))))),b.a.createElement("div",{className:"dropTeam"},b.a.createElement(n.a,{value:Z,style:{width:120},onChange:function(t){var a,n;H(t),e.history.push(p()(a=p()(n="/".concat(i,"/")).call(n,o,"/service/measurement/")).call(a,ne(w.d,Y[t][0])))},border:null},E()(B).call(B,(function(e){return b.a.createElement(Option,{key:e},e)}))),b.a.createElement(n.a,{value:te,style:{width:190},onChange:function(t){var a,n;ae(t),e.history.push(p()(a=p()(n="/".concat(i,"/")).call(n,o,"/service/measurement/")).call(a,ne(w.d,t)))},border:null},E()(K).call(K,(function(e){return b.a.createElement(Option,{key:e},e)})))),b.a.createElement("div",{className:"dropEcharts"},b.a.createElement("p",{className:"dropName"},te&&(w.b[te.replace(/\s/g,"")].descTitle?w.b[te.replace(/\s/g,"")].descTitle:te)),b.a.createElement("p",{className:"dropDesc"},te&&w.b[te.replace(/\s/g,"")].desc),v&&v.length>0?b.a.createElement("div",null,"companyNum"===l||"longTermCompanyNum"===l?b.a.createElement("div",{className:"dropEchartPanel"},b.a.createElement(D,{data:v[0]})):"companyLead"===l?b.a.createElement(G,{data:v[0]}):b.a.createElement(A,{name:te,data:v,type:"storeNum"===l?"followNum":l,pieData:S})):b.a.createElement(z.a,{_html:"暂无数据~"})))}},tZAq:function(e,t,a){}}]); |