1 line
40 KiB
JavaScript
1 line
40 KiB
JavaScript
(this.webpackJsonp=this.webpackJsonp||[]).push([[120,30],{"3+nJ":function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAL1JREFUSEvtkrERgzAMRaUNMgqVR3FKzmEBRgkLgNvQZAR6NyTzUCjJXThsgiNBjipWLf0nfX2EnQt31ocEYB3+M4vq1p0J4FZoZVlv3g1ii+qLs4CYv+YIyEghLKC59gcahg4AM39rKeQrICY+giSQKIATHyEIVBqtqthPFgFSce8S+/yJWYJ8ANaKc5AAsFV82pyqk1alf0kIaF1GgL004/M+IroXRxWkjY3pVtgUgl8VmPl0AWtwsoi16AG+31AZ1BllVwAAAABJRU5ErkJggg=="},GLkv:function(e,t,a){"use strict";a.r(t),a("g9YV");var n=a("wCAj"),r=(a("/zsF"),a("PArb")),c=(a("sPJy"),a("bE4q")),l=a("zLi2"),o=a.n(l),i=a("o+MX"),s=a.n(i),m=a("FLGM"),u=a.n(m),d=a("BF1V"),p=a.n(d),f=a("0lTi"),A=a.n(f),E=a("cDcd"),h=a.n(E),g=a("2iEm"),y=a("WXHv"),b=a.n(y),v=a("3+nJ"),x=a.n(v),C=(a("KHN1"),a("vDqi")),N=a.n(C),w=(a("2CTR"),a("jqZs"));t.default=function(e){var t,a=e.match.params,l=a.owner,i=a.projectsId,m=a.type,d=a.syncIds,f=Object(E.useState)(!1),y=o()(f,2),v=y[0],C=y[1],k=Object(E.useState)({}),B=o()(k,2),O=B[0],F=B[1],I=Object(E.useState)(1),S=o()(I,2),j=S[0],R=S[1],_=Object(E.useState)(0),J=o()(_,2),V=J[0],D=J[1],K=Object(E.useState)([]),Y=o()(K,2),Q=Y[0],L=Y[1];Object(E.useEffect)((function(){var e;C(!0),N.a.get(s()(e="/v1/".concat(l,"/")).call(e,i,"/sync_repositories/history"),{params:{type:m,limit:10,page:j,reposync_branch_ids:d}}).then((function(e){var t;C(!1),e&&200===e.status&&(u()(t=e.data.logs).call(t,(function(e,t){e.id=t+1})),F(e.data),D(e.data.total_count))})).catch((function(){C(!1)}))}),[10,j]);var U=[{title:"序号",dataIndex:"index",className:"recordColumns",align:"center",render:function(e,t,a){return h.a.createElement("span",null,10*(j-1)+a+1)}},{title:"代码变更方",dataIndex:"change_from",className:"recordColumns"},{title:"同步时间",dataIndex:"sync_time",className:"recordColumns"},{title:"同步状态",dataIndex:"sync_status",className:"recordColumns",render:function(e){return Object(w.sync_status)(e)}},{title:"commit id",dataIndex:"commit_id",className:"recordColumns",render:function(e){var t,a;return h.a.createElement(g.a,{to:s()(t=s()(a="/".concat(l,"/")).call(a,i,"/commits/")).call(t,e),className:"primaryColor"},e)}},{title:"同步日志",dataIndex:"action",align:"center",className:"primaryColor recordColumns"}];return h.a.createElement("div",{className:"storeListBox"},h.a.createElement(c.a,{separator:">"},h.a.createElement(c.a.Item,{className:"font-15"},h.a.createElement(g.a,{to:s()(t="/".concat(l,"/")).call(t,i,"/service/reposyncer"),className:"primaryColor"},"同步记录")),h.a.createElement(c.a.Item,{className:"font-15 color-grey3"},"GitLink分支:",O.gitlink_branch_name,h.a.createElement(r.a,{type:"vertical"}),O.external_type&&O.external_type.split("::").pop(),"分支:",O.external_branch_name)),h.a.createElement(n.a,{className:"storeListTable mt20 recordListTable",loading:v,columns:U,dataSource:O.logs,expandedRowRender:function(e){return h.a.createElement("div",{className:"expandBox",dangerouslySetInnerHTML:{__html:e.log}})},expandIconColumnIndex:5,expandIconAsCell:!1,expandIcon:function(e){return h.a.createElement("a",{className:"primaryColor",onClick:function(t){e.onExpand(e.record,t)}},"查看日志",h.a.createElement("img",{alt:"",src:e.expanded?x.a:b.a,style:{width:"15px"},className:"ml5"}))},rowKey:"id",expandedRowKeys:Q,onExpand:function(e,t){var a=new p.a(Q);e?a.add(t.id):a.delete(t.id),L(A()(a))},pagination:{current:j,pageSize:10,total:V,hideOnSinglePage:!0,onChange:function(e,t){window.scrollTo(0,0),R(e)}},locale:{emptyText:h.a.createElement("div",{className:"mt100 mb100 font-16"},"暂无数据,请耐心等待同步完成并",h.a.createElement("a",{onClick:function(){window.location.reload()},className:"primaryColor"},"刷新"),"此页面")}}))}},GpAv:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAAlCAYAAADGKS4rAAAAAXNSR0IArs4c6QAAAoRJREFUaEPt2s1q1FAUwPH/menCN7C+hY/gwvYhXLfWlqIVFBnxo+JC0U1xbCZYFVQUBHdVysQZOwoqdaHiwo+F3Sh+QbsYUex0vEcyOHYqzUxIkyDm3m1y7kl+HE5yL1f4z8fgqBaAD16JqyCa9utK2gnTzjcwplMC+xQWcoa9ZVeepPkMmQH2UVVREa5hOOi58iUN6EwBd4DWVTmxupVztUlpJgmdVeC26WuEEW9aHiSFnHXgtuutRp79taK8jxvaArdFle/AqXwfZ+eKshIXtAX+W1J5izLhuXI7DmQLHKCoyv0mjMyX5M1moC1wFz2FpkDx2w+OP7wsX6NAW+AQagqfRTkUZTVogUMAr30HWTDK7mpJXoQNs8BhpdbuMwozuRUOly/Jcq9wC9xLKOi6smyUI81+ZrqtBi1wVOC1uK6rQdm5R3dsPsc/PIMwnBN2pfCEG64GZXBMU98jTeFl/6RQ5aMI21LJucFq0AInIK/KoipjFVfKFjgBYJR3BkYrJbljgeMFXlE4s6XJ6dkL4m8eYYFjAlblnoHhakkWO6e0v2mbB/4EHPAcub7RVBY4InBrI0iZyvdxcq4o9aBpLHAUYOWREYYqjrzqFW6Bewmtv/67HXAj7BkLCxwO2ABuPk+hWzuwPTgc5vq7/HagjFdceRYl3FZwgJrCkkKh4nAxbDuwFRyuBFvt4KdwrDotS+FCgu+yFbze5qkxDEVtB7aCgwutjuGo1895JsWv4NhGpivYPwyIcGUVCjVH/F+w2EdmgVV5aXIMVaflceyqHRNmEbjVDhr9OEmfrPSdswWs3GwIE0m1g8x+5FAGcsJ42ZH5JNtBVoG333Xkedqw7Xy/AMbePTUad1YlAAAAAElFTkSuQmCC"},VJFx:function(e,t,a){"use strict";a.r(t),a.d(t,"confirmInfo1",(function(){return ne})),a.d(t,"confirmInfo2",(function(){return re})),a.d(t,"synchronizeTips",(function(){return ce})),a.d(t,"branchForm",(function(){return le}));var n=a("+oHS"),r=a.n(n),c=a("OWCx"),l=a.n(c),o=a("fHi0"),i=a.n(o),s=a("RXMP"),m=a.n(s),u=a("qjzJ"),d=a.n(u),p=a("HnXd"),f=a.n(p),A=a("LYCE"),E=a.n(A),h=(a("2qtc"),a("kLXV")),g=(a("7Kak"),a("9yH6")),y=(a("+L6B"),a("2/Rp")),b=(a("OaEy"),a("2fM7")),v=a("04Ix"),x=a.n(v),C=(a("miYZ"),a("tsqr")),N=a("zLi2"),w=a.n(N),k=(a("5NDa"),a("5rEg")),B=(a("y8nQ"),a("Vl3Y")),O=a("EcSs"),F=a.n(O),I=(a("5Dmo"),a("3S7+")),S=(a("/zsF"),a("PArb")),j=(a("Pwec"),a("CtXQ")),R=(a("O3gP"),a("lrIw")),_=(a("FJo9"),a("L41K")),J=a("ZbhI"),V=a.n(J),D=a("FLGM"),K=a.n(D),Y=a("o+MX"),Q=a.n(Y),L=a("5PDf"),U=a.n(L),G=a("6UaR"),W=a.n(G),q=a("cDcd"),M=a.n(q),Z=(a("ZO1A"),a("9/46"),a("GpAv")),H=a.n(Z),z=(a("KHN1"),a("vDqi")),T=a.n(z),X=(a("FRFo"),a("TT9e")),P=a("jqZs");function $(e,t){var a=r()(e);if(l.a){var n=l()(e);t&&(n=U()(n).call(n,(function(t){return i()(e,t).enumerable}))),a.push.apply(a,n)}return a}function ee(e){for(var t=1;t<arguments.length;t++){var a,n,r=null!=arguments[t]?arguments[t]:{};t%2?m()(a=$(Object(r),!0)).call(a,(function(t){x()(e,t,r[t])})):d.a?f()(e,d()(r)):m()(n=$(Object(r))).call(n,(function(t){E()(e,t,i()(r,t))}))}return e}var te=_.a.Step,ae=R.a.Option,ne=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"若存在同名从分支,首次同步主分支源码向从分支强制推送,请谨慎操作以免代码被覆盖";return M.a.createElement("div",{className:"flexBetween mb30",style:{alignItems:"flex-start"}},M.a.createElement(j.a,{type:"exclamation-circle",theme:"filled",style:{fontSize:"22px",color:"#CA0002"}}),M.a.createElement("span",{className:"ml10 font-15"},e))},re=function(e){var t=e.mainBranch,a=t.address,n=t.branchName,r=t.type,c=e.branch;return M.a.createElement("div",{className:"flexBetween"},M.a.createElement("div",{className:"infoBoxBlueBg",style:{width:"260px"}},M.a.createElement("span",null,Object(X.platformLogo)(r),M.a.createElement("span",{className:"ml10"},"主分支")),M.a.createElement(S.a,{dashed:!0,style:{margin:"15px"}}),M.a.createElement("span",{className:"primaryColor"},a),M.a.createElement("div",{className:"mt10"},M.a.createElement("i",{className:"iconfont icon-fenzhi2 font-18"}),n)),M.a.createElement("img",{src:H.a,style:{width:"40px"}}),M.a.createElement("div",{className:"infoBoxBlueBg",style:{width:"260px"}},M.a.createElement("span",null,Object(X.platformLogo)(c.type),M.a.createElement("span",{className:"ml10"},"从分支")),M.a.createElement(S.a,{dashed:!0,style:{margin:"15px"}}),M.a.createElement("span",{className:"primaryColor"},c.address),M.a.createElement("div",{className:"mt10"},M.a.createElement("i",{className:"iconfont icon-fenzhi2 font-18"}),c.branchName)))},ce=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"Github";return M.a.createElement(I.a,{title:M.a.createElement("div",null,"首次同步方向指两个仓库首次进行同步时,执行git push指令的方向。",M.a.createElement("br",null),"若首次同步方向为GitLink同步至",e,",则本仓库代码将被强推至绑定的",e,"仓库一次,后续根据webhook来监听仓库的双向同步")},M.a.createElement(j.a,{type:"question-circle",theme:"filled",style:{color:"#466aff"},className:"mb20 synchronizeTip"}))},le=function(e,t,a,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"1",c=arguments.length>5?arguments[5]:void 0,l=arguments.length>6?arguments[6]:void 0,o=arguments.length>7?arguments[7]:void 0,i="1"===r?"Gitlink":l,s="1"===r?"gitlink_branch_name":"external_branch_name",m="1"===r?l:"Gitlink",u="1"===r?"external_branch_name":"gitlink_branch_name",d=a([u])[u];return M.a.createElement(q.Fragment,null,M.a.createElement(B.a.Item,F()({label:"".concat(i,"分支")},o),e(s,{rules:[{required:!0,message:"请选择".concat(i,"仓库分支")}],initialValue:n[s]})(M.a.createElement(R.a,{placeholder:"请选择".concat(i,"仓库分支"),filterOption:function(e,t){var a;return-1!==V()(a=t.props.children.toUpperCase()).call(a,e.toUpperCase())},onChange:function(e){var a={};a[u]=e,t(a)}},c&&K()(c).call(c,(function(e,t){var a=e.name;return M.a.createElement(ae,{value:a,key:t},a)}))))),M.a.createElement(B.a.Item,F()({hidden:!d,label:"".concat(m,"分支")},o,{extra:"注:若仓库存在该分支,同步后将被源分支覆盖。若不存在该分支,则会新建一条同名分支并同步代码"}),e(u,{rules:[{required:!0,message:"请输入".concat(m,"分支名称")}],initialValue:n[u]})(M.a.createElement(k.a,{placeholder:"请输入".concat(m,"分支名称"),className:"storeInput",maxLength:50,disabled:!0}))))};t.default=B.a.create()(Object(q.forwardRef)((function(e){var t,a,n,r,c,l,o=e.form,i=e.history,s=(e.storeDetail||{}).sync_repositories_unique,m=void 0===s?[]:s,u=e.match.params,d=u.owner,p=u.projectsId,f=o.getFieldDecorator,A=o.validateFields,E=o.resetFields,v=o.setFieldsValue,x=o.getFieldsValue,N=Object(q.useState)(0),O=w()(N,2),I=O[0],S=O[1],R=Object(q.useState)(),J=w()(R,2),D=J[0],Y=J[1],L=Object(q.useState)(),G=w()(L,2),Z=G[0],H=G[1],z=Object(q.useState)({}),$=w()(z,2),ae=$[0],oe=$[1],ie=Object(q.useState)(),se=w()(ie,2),me=se[0],ue=se[1],de=Object(q.useState)("2"),pe=w()(de,2),fe=pe[0],Ae=pe[1],Ee=Object(q.useState)(),he=w()(Ee,2),ge=he[0],ye=he[1],be=[{step:0,title:"配置同步仓库"},{step:1,title:"配置同步仓库webhook"},{step:2,title:"配置同步分支"}],ve=ae.type,xe=ae.external_repo_address,Ce=ae.external_branch_name,Ne=ae.gitlink_branch_name,we={address:xe,branchName:"1"===fe?"全部分支":Ce,type:ve},ke={address:Q()(t=Q()(a="".concat(window.location.origin,"/")).call(a,d,"/")).call(t,p,".git"),branchName:"1"===fe?"全部分支":Ne,type:"gitlink"},Be=ae.first_sync_direction||x(["first_sync_direction"]).first_sync_direction,Oe=K()(m).call(m,(function(e){return e.type.split("::").pop()})),Fe=Oe.length&&U()(n=["Github","Gitee"]).call(n,(function(e){return-1===V()(Oe).call(Oe,e)}))||["Github","Gitee"],Ie=me&&("Github"===me?/^https:\/\/github\.com\/.+\/.+$/:/^https:\/\/gitee\.com\/.+\/.+$/);function Se(){var e=x(),t=e.external_branch_name,a=e.gitlink_branch_name,n=e.first_sync_direction;oe(ee(ee({},ae),{},{external_branch_name:t,gitlink_branch_name:a,first_sync_direction:n}))}Object(q.useEffect)((function(){var e;T.a.get(Q()(e="/".concat(d,"/")).call(e,p,"/branches.json"),{params:{page:1,limit:1e3}}).then((function(e){Y(e.data)})).catch((function(e){}))}),[]);var je={labelCol:{span:5},wrapperCol:{span:18},style:{width:"60%"}};return M.a.createElement("div",{className:"storeListBox mt20"},M.a.createElement("div",{className:"headBox font-16 pl15 mb25"},"跨平台仓库代码同步",P.reposyncerHelpIcon),M.a.createElement("div",{className:"registerBox"},M.a.createElement(_.a,{current:I},K()(be).call(be,(function(e){var t=e.title,a=e.step;return M.a.createElement(te,{title:t,key:a})}))),M.a.createElement(B.a,{className:"codeSynchronizationForm",colon:!1,layout:2===I?"horizontal":"vertical",form:o},M.a.createElement(B.a.Item,{label:"请选择同步仓库平台",className:"storeFormItem",hidden:I},f("type",{rules:[{required:!0,message:"请选择同步仓库平台"}],initialValue:ae.type})(M.a.createElement(b.a,{placeholder:"请选择",onChange:function(e){E(),ue(e)}},K()(Fe).call(Fe,(function(e){return M.a.createElement(b.a.Option,{key:e,value:e},Object(X.platformLogoUnText)(e),e)}))))),M.a.createElement(B.a.Item,{label:"".concat(me,"同步仓库地址"),className:"storeFormItem",hidden:I||!me},f("external_repo_address",{rules:[{required:!0,message:"请输入".concat(me||"","同步仓库地址")},{pattern:Ie,message:"请输入".concat(me,"可访问的仓库地址")}],initialValue:ae.external_repo_address})(M.a.createElement(k.a,{placeholder:"请输入".concat(me,"同步仓库地址"),className:"storeInput",maxLength:200}))),M.a.createElement(B.a.Item,{label:"".concat(me,"同步仓库授权验证"),className:"storeFormItem",hidden:I||!me,extra:M.a.createElement("div",{className:"pt5 pl10 font-13"},"如何配置token:",M.a.createElement("br",null),"1、登录",me,",确保拥有读写同步仓库的权限",M.a.createElement("br",null),"Github"===me&&"2、找到已存在的token,或新建一个token;新建方式为:点击个人头像→Settings→Developer Settings→Personal access tokens (classic)→Generate new token","Gitee"===me&&"2、找到已存在的token,或新建一个token,新建方式为:点击个人头像→设置→私人令牌→生成新令牌",M.a.createElement("br",null),"3、确保token拥有仓库读写权限,且未过期。将token复制到此处token填写框")},f("external_token",{rules:[{required:!0,message:"请输入".concat(me||"","授权token")}],initialValue:ae.external_token})(M.a.createElement(k.a.Password,{addonBefore:"token",placeholder:"请输入".concat(me,"的授权token"),className:"storeInput",maxLength:300}))),!I&&M.a.createElement("div",null,M.a.createElement("div",{className:"mt30"},M.a.createElement(y.a,{style:{width:"100px"},onClick:function(){i.go(-1)},className:"mr30"},"返回"),M.a.createElement(y.a,{type:"primary",style:{width:"100px"},onClick:function(){A(["type","external_repo_address","external_token"],(function(e,t){if(!e){var a,n=t.external_repo_address.replace(".git","").replace("https://".concat(me.toLowerCase(),".com/"),"");me&&T.a.get(Q()(a="/v1/".concat(n,"/branches/")).call(a,me.toLowerCase()),{params:{page:1,limit:100,token:t.external_token}}).then((function(e){e&&e.data&&W()(e.data)?(H(e.data),S(1),oe(ee(ee({},ae),t))):C.a.error("获取".concat(me,"平台仓库分支列表失败,请检查参数输入是否正确"))})).catch((function(e){}))}}))}},"下一步"))),1===I&&M.a.createElement("div",null,M.a.createElement(j.a,{type:"info-circle",theme:"filled",style:{color:"#466aff"}}),M.a.createElement("span",{className:"color-grey-6 ml5 mb15"},"为了保证双向同步实时性,请您完成以下操作,以保证每个参与同步的仓库均已配置Webhook"),M.a.createElement("p",{className:"mt15"},"1、复制Webhook接受请求地址:"),M.a.createElement(k.a,{id:"webhook",className:"mt10 mb10 copyWebhookInput",value:Q()(r=Q()(c=Q()(l="".concat(window.location.origin,"/api/v1/")).call(l,d,"/")).call(c,p,"/sync_repositories/sync?sync_direction=2&repo_type=SyncRepositories::")).call(r,me),readOnly:!0,addonAfter:M.a.createElement("a",{onClick:function(){var e=document.querySelector("#webhook");e&&(e.select(),document.execCommand("copy")&&(document.execCommand("copy"),document.getSelection().removeAllRanges(),C.a.success("复制成功")))}},"复制链接")}),"2、前往",me,"登录并进入同步仓库WebHook页面进行配置:",M.a.createElement(y.a,{type:"primary",ghost:!0,className:"mt10 mb10 ml10",onClick:function(){var e,t=ae.type,a=ae.external_repo_address;a?window.open(Q()(e="".concat(a.replace(/.git$/,""))).call(e,"Github"===t?"/settings/hooks":"/hooks")):C.a.error("您暂未配置同步仓库地址")}},"点击前往"),M.a.createElement("br",null),M.a.createElement("div",{className:"pl15 pb10"},"① 添加webHook",M.a.createElement("br",null),"② 将步骤1地址填入页面中的URL处",M.a.createElement("br",null),"③ 确保已勾选Push事件",M.a.createElement("br",null),"④ 激活"),"3、完成配置",M.a.createElement("div",{className:"mt30"},M.a.createElement(y.a,{style:{width:"100px"},onClick:function(){S(0)},className:"mr30"},"上一步"),M.a.createElement(y.a,{type:"primary",style:{width:"100px"},onClick:function(){S(2)}},"下一步"))),2===I&&M.a.createElement("div",null,M.a.createElement("div",{className:"color-grey-6 mb15"},"请绑定同步分支,建立单个分支的实时双向同步"),M.a.createElement(B.a.Item,{hidden:!0},f("sync_granularity",{rules:[],initialValue:"2"})(M.a.createElement(g.a.Group,{onChange:function(e){ae.external_repo_address?Ae(e.target.value):C.a.error("您暂未配置同步仓库地址")},value:fe,style:{width:"80%"}},M.a.createElement(g.a,{value:"2"},"单个分支",M.a.createElement("br",null),M.a.createElement("span",{className:"color-grey-6 ml25 font-12"},"建立单个分支的实时双向同步"))))),fe&&M.a.createElement("div",{style:{display:"flex",alignItems:"center"}},M.a.createElement(B.a.Item,F()({label:"首次同步方向:"},je),f("first_sync_direction",{rules:[{required:!0,message:"请选择首次同步方向"}],initialValue:ae.first_sync_direction})(M.a.createElement(b.a,{placeholder:"请选择首次同步方向",onChange:function(){E(["external_branch_name","gitlink_branch_name"])}},M.a.createElement(b.a.Option,{value:"2"},me,"同步至GitLink"),M.a.createElement(b.a.Option,{value:"1"},"GitLink同步至",me)))),ce(me)),"2"===fe&&Be&&le(f,v,x,ae,Be,"2"===Be?Z:D,me,je),M.a.createElement("div",{className:"mt30"},M.a.createElement(y.a,{style:{width:"100px"},className:"mr30",onClick:function(){Se(),S(1)}},"上一步"),fe&&M.a.createElement(y.a,{type:"primary",style:{width:"100px"},onClick:function(){Se(),A((function(e,t){e||ye(!0)}))}},"确认绑定")))),M.a.createElement(h.a,{title:"绑定同步分支",visible:ge,onCancel:function(){ye(!1)},footer:M.a.createElement("div",null,M.a.createElement(y.a,{style:{width:"95px",height:"32px"},onClick:function(){ye(!1)},className:"mr40"},"再想想"),M.a.createElement(y.a,{style:{width:"95px",height:"32px"},onClick:function(){var e,t=x();t.type="SyncRepositories::".concat(t.type),T.a.post(Q()(e="/v1/".concat(d,"/")).call(e,p,"/sync_repositories.json"),t).then((function(e){var t;e&&200===e.status?(ye(!1),C.a.success("绑定成功"),window.location.href=Q()(t="/".concat(d,"/")).call(t,p,"/service/reposyncer")):C.a.error("绑定失败")}))},type:"primary",ghost:!0},"开始同步")),width:650,className:"reposyncerModal"},ne(),re({mainBranch:"1"===ae.first_sync_direction?ke:we,branch:"1"===ae.first_sync_direction?we:ke}))))})))},WXHv:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAAMtJREFUSEvtk7EVwiAQhu/3GdfRNKldwSaWkiygG+gILpCoJelcgzRxEzfAh43GF+CILx20B9/H/QegiRcm5lMUeBOOEYVFVEnVAVh6T1k2gHRa5Fn3Xe7NoG7UmQj7MQKt9WO2SNbFJn1aBaZQS3UlYBciscENY/AVhUhccKvAFCrZngA6ujrxwZ2Ct6RRAoTLkIQD9wockjuSufgd6NBFWD+514nWt3KbCe4jYAk+ndCqzLMDF86KKAQ2OqJ/JOyIxkqiwJvc5BG9AKx9RBmDkHpfAAAAAElFTkSuQmCC"},YJKC:function(e,t){e.exports="data:image/jpeg;base64,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"},hplJ:function(e,t){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGkAAABvCAYAAADv2+4nAAAAAXNSR0IArs4c6QAADYdJREFUeF7tnU2MHUcRx/+zITYgBDYHJIQEjsSBA1LsEwdArKXsCgkJ7BNIHIhv3j2AfeDAhSQS4prkwG4uEEfcsSM4oN1IdgQXJEQSceTDjpAQt2CIgGySHd5/dvppXm9XTfd09ew8+4305Die6Y/6dVVXVff0VFhdORI4D+BZAOsA/gngGQDP5RQYerayLvAhKu8MgHszSB/z+nwZwC1LOawgDZfmtVaL/BJeB3BheLHHn1w2SF+ZmROOYJoZ96frVffvND0Ulrs44vlz//9VAyE+DeApoRxTuZoWZtDxbhHnABAKgdDm80/Li9DutL83PKgx9YQ06X0Aj7Sa1B0kMeWJ90wNEkF8pwfK2wA+ktHr/wH4YOB5QuNcwl+MpnHg3BbaYTovTQESNYZgngTA/+5euUBiWL4L4FHvRprFGwCeb82kVE4t/AO9PJpDk+skIVFrvtfC6XYmJDSTzkYW4kyWu50mkcBeCjz/dwCfDPx/aiI1zeQ6CUhsPCfcbif+A+DDJj0qVwjNIbWjC4sAOW/6F+99zKopY0KiKXvRg3MA4NSAzvwLwGud5ygs/2J9XfMZEmZs1YcA1tqbCeBK63CM4uGNAYmuMaNyzjlDrr8B+EPrfdFj4o+CGnLRxLofNfnxxEK6sDgwaNYkN/xiCzKxiuO3l4Z0qdUeguL1DoDTEa1+s/WyOBeYubJCvWyj+/nZg4imirdQ29j+7KsUJEKhaWPnecWYNWrML9qOlQYTEhzb7GB9I1uyR3k8Ew+vBCSakZttRiCmr4TzQ6tRF1NhxD0ExmCVvz7tohsekqOZh2cNifMONYjXfwF8SBEITRpHmolJiBD8kFscLGne0co08/AsIRGOcw4080bPjPHRlOH4wqeXyAHFoDvlMpGvRSEcbTRvMcHbyy1IRvTLdNF9Jyj2McVLNfHwciEREPNXdGs17eG8813rdZYClNkPuuUOiB9rpVZp4uHlQOoD5CZURuicgKesPfTqGMv5ucNUKP791y1WaodC6gLScm1mbmiutJTnCeaucfku/8fU0NDAe96koZCYkqFp8JOR3b6aqLqx8ELFaamdnOrN+j8EkvPiJA2i98aJ9iQC0iFCtYLEuMitANNzzdYg15lUSN04KCSQZQPEPtAi0DJIQanfzy4M5u8cmCEDJOqZFEiuM1LBywjI9YWDjwt8H+10jkvqBOCSujmJ3SgY0k2xkOgocHLln5KrbRITZPUm/2G3f25SpjoWEmMhduA9AB/oyMKZCLNJMl/OD14JMZAYQzCjIF0rQIXHRR+krpkLNYVpHrccUbipD2/xfZDoSjKpGNoGRUfhMxPPJDwQZDVI2r4ydt50b9kDIc1CndAgOWdhZebKCJ9TCa0U/2R+Uwx+JUhOi0JZhZWZy4fGmJOBcHfVV3TAJEiaFq28uXxILvfplxRMyIYgOS3yYyIWyCVv63R+fpeXqwQt606zd2xRMQSJG9al3TIrLbIZENIecq65UZsW1t58SBrllRbZAGIpSYrgQ3Jp+5DDsNIiO0haeHNsl5EPiUlUf86hav47Yv+ZXRcejpKYxJW2OS8kq7uQHN3QamtwQns4ZFmsl9ra3IK8u5D4ajv3w4WuUbML69fqM4++g8f3d6uYN+6ypdjUd4Bz+zvV2EsUNG1MrfnXgsnrQgqZOj58P2HLcLbANrfqZ1E1u4u4VEov5/r+TlVkI2U7GG5WVbtnsMa9wxpXXnmhCr1Kk923QAGaYvAN9mbQOEjOqwvFRqOZuo3t+sUqECccHuJiCcFtbtU3UB3flVoDF0bSKm21e74dzEHS7OMoK64SoFajnt/fqRrtir02t+un6nYZpQJu7e1U3F42v6hFpw7wVqi8VoMvjgRKMnnz8yAcJLckEWpz33JGrNzE+zRA7UMv7+1U0etWm1v1TVSL61w1sAB6Y7s+Xy2+LbjQvhFBabI/y8DWAZDmI7PXNyRCEYA4N12JnZc04a8d4rFfv1DNs80b2/W9KjxxN80dCZS28t1YMQdJSlNwB02SmUlRqxhAqPHG3m4VfdCGNM+wXf7ctrlVX0Klbg0YC5Qk/2ZeIiQXH4V2ARXLMsQCOjiN9TvPVVH7yFtX+m51tEZz7PI1iTfMtOnJmTa5d6qCY2wEjZIC20ZJCElzGuZuYIqG9N1bAlCvwBWNnAAoKZfXTDeENMpr7g5cKUANpK369jzm8UZK37x2wqAkBrQgZwlJOjDCPIgtCeirV+tzh2vy2xEHp3C2z2yeICgt4VppkEw9uxgB0ElImYO6yrK5XcsWocZLe7tV1Bt6Me0sMEdpS0QXR4EU0/EcQIS1uVXfRSWsGte4PPMQo09zjGlvAVCSh9dAKhojRXW4xv1HapzvxjB9zseCFimu9GwuenMWYyUv+W9s13R9pYRziThKhST9Y3bO7omr9framngm3FFHa9xHhfWcFIwWG/Hw2r2datChFz3luvbfmWXrGXTmXoMgZb9Kublda8vEJoC0HBylFoqNUqQZBcomISvFStdp7oodrLexVd+pquBRY0dyqnFrb7fiWtXgSzOndY1X93ermKMLxPr7AmQ+aJSl/y2ALwYa8owGKdvcqR5X25oauLG/UzGzMeja2K5fm2W5g2mjvtior8IW0G2pfGeu3z2Nc33ufV9d7dpRaDn9MiFJqfJsF7zt5OtaEvNIoYaB0pKpnOtyhBcDqG17dPK3B5Rk7sq74BQkatDsqQcp+UsJESOPeTfZA0uIjfy6TgAQm8DNPqEDgMtDYu0JoJJG5cZ2/ZaUTB06T5wQoFYpg0NThWR2ylQJUNoyw9DYKBYQMrRUsRCSA3eBc9Joq7KWGqW594c1rr+yWyV92OOEAWlpoSZ3J31zgdDN9zdYgOpLpqbGRicMiHKWEqzN1u7uol9IE4ss+uWCemKrvrZWNQc2ha6k/RATAMQ+SMnh+XoSVzGDu2baAyiKLJ/ngNKC5JTYaCKACEmacpqsj9vjwMWlkIucHStprnQCqIV9cBIkxkb7u1Vw6TzUjpgkaiEnwW/OnwB8NtDGxpI5SNLCH59rthXFxC1D7okB5cdQkrlLjbVme/Mkj+qoK2W8OF9MmiVrti84SNoSevF94BGgjs0zxxKfiQuGfc7HSIAITNrSNV8Zd5C07a7ZObwYDdNASS51mxa6dHiIO0O2IYv77sbRICeWXQBXAzKay727O1XK4TWbIWIEnXtPEFSihqS0QQiIk7zDlPqEe/8qfHxk7ll3IWlBrXm8JHWOZuj9NVybLWOcr4Fb753GDYMMsyjLRhtrXEOFM6wvdqesARwWoVmw+ZvoXUjadtdRTJ5Rx5epGMnU8ay9+fKLvxlf83ZMDn1dJgmO0FZ+Nyr0FYKFU5B9SJrJy15OH6HTy1SFZrkWwh4fkmYjR3MglknSGW2VTkU5djxd6N0jLbAtksvL6OiyPpr0Zc0QJG0D/8rk2QwLSYuCB5pIb/FJMZPJsf42/VzaUkJapJ5lK0EKrTExTcHFqWJ5vKUVe1rDk7SIRUuQ+G/M57llCs5T/PvY5xykdX/6d/9g9jXQHwvNTD7vbvrdXb4WMtv9D+HDk+rhWpomLZ8Ypt3i3wD4ktBEdaVhBWkcsNsAfiJU1Xts9wpSeUhMEPxO+DJ1lDO2glQWEuehvwD4uFBNVEizglQW0h8BfF6oInr/yBQg8YNYNAmMwVx6vjmdy/JDUWVZBEvnXPN1oV56c+xrVMw5JiT3GdDYL0+yA9yIYfZFrxFBaYA4DzHrEB1zloCUCkOTXdFjcwpB0wCxyuQktRUkTpD89LT1Rspou11I4KnF9gEaNOisIGmLhakd7d4f5f3kVGD0bPeTrlKRg7cgWEHSNxkOkwTX+d3n24aVMM5TdAB+BeBTSnWDAbFMC0h9H2RMERUnVU6oTOjy1ZUo7yelAuN7vw3gZ0Kg6qrKAmQFieWkapKD4b446b5AOXUoTvA0b79UcnFmgCwhaQeR+4OXLjU9nLFODDZWHlB7fipks7t1DXISQo21MHcsVz1UQ5ASn1mmgJXzI/fJfU7oj1tdpZWgl2t2TLYVpJxPU7Mz3Dsx1aCVwffPI0wb2SUHqjFqbgWp7zOnMW0hLE6yUzGD/DzRj5Tcm98nxkjcxGM+r1pBsvTwmJSkzWenx9Yuas23AHxfyVz7cKg9hBN9VFvMiO3eYwVJ8/CYTOTokr5worWZDgk1jJmH6FxXohCYxvomgK/N3OlPJz5bTHtKQZI8PHceBEcbYx/1ZBRFSG8D+H1rDlkXwad8cIRuMwcKteULAL6cYMr8ZrFezsOjmGZLTYo5D4KCoufD31BYIY5/bo99Cf0bMwGfSNQQ6XZaBcIx89xi2mUJSfPw/PebSsGK6fOQe5iiohUYFY5rqCWkpP3NHUnRDPLHuWFqF71NghnFrEmdt4SkHb0Ss4ecz9OVJ7AhToYVYDoD9NT4M3enhzTSEpLm4fVuW/Ia74BRO/mznL98OdGUuaTuZMCU8u5YrvTazPxbQENGkrcHgtCcp5ZSnEvqUjtcQpftnYS2aB2x1iTJwyv5jdq+M1YdlBSgk7rXGpKUHspeU5mU1EZujDUkNt/XpmVZYR1Z9PHVlYDE2t2ET9tfLKcV383lvvP/MyuM3JPDu34AAAAASUVORK5CYII="},jqZs:function(e,t,a){"use strict";a.r(t),a.d(t,"sync_status",(function(){return se})),a.d(t,"reposyncerHelpIcon",(function(){return me})),a("sRBo");var n=a("kaz8"),r=(a("Pwec"),a("CtXQ")),c=(a("2qtc"),a("kLXV")),l=(a("y8nQ"),a("Vl3Y")),o=(a("OaEy"),a("2fM7")),i=a("04Ix"),s=a.n(i),m=(a("T2oS"),a("W9HT")),u=(a("g9YV"),a("wCAj")),d=(a("5NDa"),a("5rEg")),p=(a("+L6B"),a("2/Rp")),f=(a("/zsF"),a("PArb")),A=(a("miYZ"),a("tsqr")),E=a("zLi2"),h=a.n(E),g=(a("Awhp"),a("KrTs")),y=a("FLGM"),b=a.n(y),v=a("cdeZ"),x=a.n(v),C=a("5PDf"),N=a.n(C),w=a("o+MX"),k=a.n(w),B=a("mnMc"),O=a.n(B),F=a("+oHS"),I=a.n(F),S=a("OWCx"),j=a.n(S),R=a("fHi0"),_=a.n(R),J=a("RXMP"),V=a.n(J),D=a("qjzJ"),K=a.n(D),Y=a("HnXd"),Q=a.n(Y),L=a("LYCE"),U=a.n(L),G=a("cDcd"),W=a.n(G),q=a("2iEm"),M=a("YJKC"),Z=a.n(M),H=a("hplJ"),z=a.n(H),T=(a("KHN1"),a("vDqi")),X=a.n(T),P=a("VJFx"),$=a("ZO1A"),ee=a.n($),te=a("9/46"),ae=a.n(te);function ne(e,t){var a=I()(e);if(j.a){var n=j()(e);t&&(n=N()(n).call(n,(function(t){return _()(e,t).enumerable}))),a.push.apply(a,n)}return a}function re(e){for(var t=1;t<arguments.length;t++){var a,n,r=null!=arguments[t]?arguments[t]:{};t%2?V()(a=ne(Object(r),!0)).call(a,(function(t){s()(e,t,r[t])})):K.a?Q()(e,K()(r)):V()(n=ne(Object(r))).call(n,(function(t){U()(e,t,_()(r,t))}))}return e}var ce=l.a.create()((function(e){var t,a,n=e.owner,r=e.projectsId,i=e.visible,s=e.setVisible,m=e.branchList,u=e.reload,d=e.form,f=e.sync_repositories_unique,E=void 0===f?[]:f,g=e.repositoriesBranch,y=d.getFieldDecorator,v=d.validateFields,x=d.resetFields,C=d.getFieldsValue,w=d.setFieldsValue,B=Object(G.useState)(),F=h()(B,2),I=F[0],S=F[1],j=b()(E).call(E,(function(e){return e.type})),R=C(),_=R.external_branch_name,J=R.gitlink_branch_name,V=R.first_sync_direction,D=_&&J&&V,K=I&&N()(E).call(E,(function(e){var t;return O()(t=e.type).call(t,I)}))[0],Y={address:K&&K.external_repo_address,branchName:_,type:I},Q={address:k()(t=k()(a="".concat(window.location.origin,"/")).call(a,n,"/")).call(t,r,".git"),branchName:J,type:"gitlink"};Object(G.useEffect)((function(){1===j.length&&S(j[0].split("::")[1])}),[j.toString()]);return W.a.createElement(c.a,{title:"新建同步分支",visible:i,onCancel:function(){s(!1)},footer:W.a.createElement("div",null,W.a.createElement(p.a,{style:{width:"104px",height:"36px"},onClick:function(){s(!1)}},"取消"),W.a.createElement(p.a,{type:"primary",style:{width:"104px",height:"36px",marginLeft:"40px"},onClick:function(){v((function(e,t){if(!e){var a,c=N()(E).call(E,(function(e){return e.type==="SyncRepositories::".concat(I)}))[0];X.a.post(k()(a="/v1/".concat(n,"/")).call(a,r,"/sync_repositories/create_branch"),re(re({},t),{},{sync_repository_ids:c&&c.sync_repository_ids.toString()})).then((function(e){e&&"success"===e.data.message&&(x(),s(!1),A.a.success("新建成功"),u())}))}}))}},"确认")),width:650,className:"reposyncerModal"},W.a.createElement(l.a,{labelCol:{span:5},wrapperCol:{span:18}},j.length>1&&W.a.createElement(l.a.Item,{label:"同步仓库平台",className:"storeFormItem"},y("type",{rules:[{required:!0,message:"请选择同步仓库平台"}]})(W.a.createElement(o.a,{placeholder:"请选择同步仓库平台",onChange:function(e){S(e)}},W.a.createElement(o.a.Option,{value:"Github",disabled:!g.Github},W.a.createElement("img",{src:ee.a,alt:"",className:"storeLogo mr5"}),"Github",!g.Github&&",获取分支列表失败,请检查token是否有效"),W.a.createElement(o.a.Option,{value:"Gitee",disabled:!g.Gitee},W.a.createElement("img",{src:ae.a,alt:"",className:"storeLogo mr5"}),"Gitee",!g.Gitee&&",获取分支列表失败,请检查token是否有效")))),I&&W.a.createElement("div",{className:"directionByAddTaskModal"},W.a.createElement(l.a.Item,{label:"首次同步方向:"},y("first_sync_direction",{rules:[{required:!0,message:"请选择首次同步方向"}]})(W.a.createElement(o.a,{placeholder:"请选择首次同步方向",onChange:function(){x(["external_branch_name","gitlink_branch_name"])}},W.a.createElement(o.a.Option,{value:"2"},I,"同步至GitLink"),W.a.createElement(o.a.Option,{value:"1"},"GitLink同步至",I)))),Object(P.synchronizeTips)(I)),I&&V&&Object(P.branchForm)(y,w,C,{},V,"2"===V?g[I]:m,I,{})),D&&W.a.createElement("div",{className:"pt15"},Object(P.confirmInfo1)(),Object(P.confirmInfo2)({mainBranch:"1"===V?Q:Y,branch:"1"===V?Y:Q})))})),le=a("TT9e");function oe(e,t){var a=I()(e);if(j.a){var n=j()(e);t&&(n=N()(n).call(n,(function(t){return _()(e,t).enumerable}))),a.push.apply(a,n)}return a}function ie(e){for(var t=1;t<arguments.length;t++){var a,n,r=null!=arguments[t]?arguments[t]:{};t%2?V()(a=oe(Object(r),!0)).call(a,(function(t){s()(e,t,r[t])})):K.a?Q()(e,K()(r)):V()(n=oe(Object(r))).call(n,(function(t){U()(e,t,_()(r,t))}))}return e}var se=function(e){return"failure"===e?W.a.createElement(g.a,{status:"error",text:"失败",className:"deleteRecord"}):"success"===e?W.a.createElement(g.a,{status:"success",text:"成功",className:"success"}):""},me=W.a.createElement("a",{className:"ml25 primaryColor font-15",target:"_blank",href:"https://help.gitlink.org.cn/%E7%AC%AC%E4%B8%89%E6%96%B9%E6%9C%8D%E5%8A%A1/%E8%B7%A8%E5%B9%B3%E5%8F%B0%E4%BB%A3%E7%A0%81%E5%90%8C%E6%AD%A5"},W.a.createElement("i",{className:"iconfont icon-a-22ziliaoshouce-xianxing mr5 font-15"}),"使用手册");t.default=l.a.create()((function(e){var t,a,i,s,E,g=e.storeDetail,y=e.form,v=e.reflushRepos,C=y.getFieldDecorator,w=y.validateFields,B=(y.setFieldsValue,y.setFields,y.getFieldsValue),F=g||{},S=F.sync_repositories,j=F.sync_repositories_unique,R=void 0===j?[]:j,_=F.repositoriesBranch,J=void 0===_?{}:_,V=e.match.params,D=V.owner,K=V.projectsId,Y=Object(G.useState)(!1),Q=h()(Y,2),L=Q[0],U=Q[1],M=Object(G.useState)(!1),H=h()(M,2),T=H[0],$=H[1],ee=Object(G.useState)(),te=h()(ee,2),ae=te[0],ne=te[1],re=Object(G.useState)(1),oe=h()(re,2),ue=oe[0],de=(oe[1],Object(G.useState)(0)),pe=h()(de,2),fe=(pe[0],pe[1],Object(G.useState)(10)),Ae=h()(fe,2),Ee=Ae[0],he=(Ae[1],S&&b()(S).call(S,(function(e){return e.sync_repository_ids}))),ge=he&&x()(he).call(he,1/0).toString(),ye=Object(G.useState)([]),be=h()(ye,2),ve=be[0],xe=be[1],Ce=Object(G.useState)(),Ne=h()(Ce,2),we=Ne[0],ke=Ne[1],Be=Object(G.useState)(),Oe=h()(Be,2),Fe=Oe[0],Ie=Oe[1],Se=B().first_sync_direction,je=Fe||{},Re=je.gitlink_branch_name,_e=je.external_branch_name,Je=je.type,Ve=Je&&S&&N()(S).call(S,(function(e){return e.type===Je}))[0],De={address:Ve&&Ve.external_repo_address,branchName:_e,type:Je},Ke={address:k()(t=k()(a="".concat(window.location.origin,"/")).call(a,D,"/")).call(t,K,".git"),branchName:Re,type:"gitlink"};function Ye(){var e;ge&&X.a.get(k()(e="/v1/".concat(D,"/")).call(e,K,"/sync_repositories/branches.json"),{params:{sync_repository_ids:ge,branch_name:we}}).then((function(e){e&&200===e.status&&xe(e.data.sync_repository_branches)}))}function Qe(e){var t,a=e.gitlink_branch_name,n=e.external_branch_name,r=e.enable,c=e.first_sync_direction,l=e.type;X.a.post(k()(t="/v1/".concat(D,"/")).call(t,K,"/sync_repositories/change_enable.json"),{gitlink_branch_name:a,external_branch_name:n,first_sync_direction:c,repo_type:l,enable:new Boolean(!r).toString()}).then((function(e){e&&e.data&&!e.data.status&&(Ie(void 0),A.a.success("操作成功"),Ye())}))}Object(G.useEffect)((function(){var e;X.a.get(k()(e="/".concat(D,"/")).call(e,K,"/pulls/get_branches.json"),{}).then((function(e){e&&ne(e.data)}))}),[]),Object(G.useEffect)((function(){Ye()}),[ge,we]);var Le=[{title:"序号",dataIndex:"index",className:"recordColumns",render:function(e,t,a){return W.a.createElement("span",null,(ue-1)*Ee+a+1)}},{title:"第三方平台分支",dataIndex:"external_branch_name",className:"recordColumns taskName",width:"300px",render:function(e,t){return W.a.createElement("span",null,Object(le.platformLogoUnText)(t.type,"21px"),e)}},{title:"GitLink分支",dataIndex:"gitlink_branch_name",width:"300px",className:"recordColumns",render:function(e,t){return W.a.createElement("span",null,W.a.createElement("img",{src:Z.a,alt:"",style:{width:"20px"},className:"storeLogo mr5"}),e)}},{title:"最后一次同步时间",dataIndex:"sync_time",className:"recordColumns"},{title:"最后一次同步状态",dataIndex:"sync_status",className:"recordColumns",render:function(e){return se(e)}},{title:"操作",dataIndex:"enable",align:"center",className:"primaryColor recordColumns",render:function(e,t){var a,n;return W.a.createElement("div",null,W.a.createElement(q.a,{to:k()(a=k()(n="/".concat(D,"/")).call(n,K,"/service/reposyncer/record/")).call(a,t.reposync_branch_ids),className:"primaryColor"},"同步记录"),W.a.createElement(f.a,{type:"vertical"}),W.a.createElement("a",{className:"primaryColor",onClick:function(){e?Qe(t):Ie(t)}},e?"中止同步":"启动同步"))}}];return W.a.createElement("div",{className:"storeListBox"},W.a.createElement(m.a,{spinning:!S},S&&!S.length&&W.a.createElement(G.Fragment,null,W.a.createElement("div",{className:"headBox font-16 pl15"},"跨平台仓库同步服务",me),W.a.createElement("div",{className:"nullStoreBox mt25"},W.a.createElement("img",{src:z.a,alt:"",className:"loBox mt50"}),W.a.createElement("p",{className:"font-22 mt10"},"欢迎使用跨平台仓库代码同步服务"),W.a.createElement("div",{className:"introBox font-15"},"跨平台仓库代码同步服务用于不同代码托管平台之间的仓库代码双向同步。用户将不同平台的仓库分支进行绑定,当任意仓库分支有push事件被webhook监听时,代码推送将实时自动同步至另一个仓库,以实现不同平台之间分支、提交信息的自动同步"),W.a.createElement("div",{className:"borBox"}),W.a.createElement(p.a,{type:"primary",style:{width:"112px",height:"36px"}},W.a.createElement(q.a,{to:k()(i="/".concat(D,"/")).call(i,K,"/service/reposyncer/store/edit")},"开始体验")))),S&&!!S.length&&W.a.createElement(G.Fragment,null,W.a.createElement("div",{className:"headBox flexBetween pl20 mt20"},W.a.createElement("div",null,b()(R).call(R,(function(e,t){return W.a.createElement(G.Fragment,null,W.a.createElement("a",{href:e.external_repo_address,target:"_blank"},Object(le.platformLogo)(e.type)),R[t+1]?W.a.createElement(f.a,{type:"vertical"}):"")})),me),W.a.createElement("div",{className:"flexBetween"},W.a.createElement(d.a.Search,{placeholder:"搜索分支名称",allowClear:!0,onSearch:function(e){ke(e)}}),W.a.createElement(p.a,{type:"primary",className:"ml20 mr20",onClick:function(){var e=R[0]&&R[0].type.replace("SyncRepositories::","");1!==R.length||J[e]?$(!0):A.a.error("获取".concat(e,"平台仓库分支列表失败,请检查token是否有效"))}},"添加同步分支"))),W.a.createElement(u.a,{className:"storeListTable mt20",columns:Le,dataSource:ve,pagination:!1}),W.a.createElement("div",{className:"mt20"},W.a.createElement(p.a,{type:"primary",ghost:!0,className:"mr20",hidden:2===R.length},W.a.createElement(q.a,{to:k()(s="/".concat(D,"/")).call(s,K,"/service/reposyncer/store/edit")},"添加同步仓库")),W.a.createElement(p.a,{type:"primary",ghost:!0},W.a.createElement(q.a,{to:k()(E="/".concat(D,"/")).call(E,K,"/service/reposyncer/setting")},"查看同步配置")),W.a.createElement(p.a,{type:"danger",ghost:!0,className:"ml20",onClick:function(){U(!0)}},"解绑此仓库")))),W.a.createElement(c.a,{title:"开启同步",visible:Boolean(Fe),onCancel:function(){Ie(void 0)},footer:W.a.createElement("div",null,W.a.createElement(p.a,{style:{width:"95px",height:"32px"},onClick:function(){Ie(void 0)},className:"mr40"},"再想想"),W.a.createElement(p.a,{style:{width:"95px",height:"32px"},type:"primary",ghost:!0,onClick:function(){w((function(e,t){var a;O()(a=I()(e||{})).call(a,"first_sync_direction")||Qe(ie(ie({},Fe),{},{first_sync_direction:t.first_sync_direction}))}))}},"开始同步")),width:650,className:"reposyncerModal"},Object(P.confirmInfo1)("重新开启同步时,系统将主分支源码强制向从分支推送,覆盖从分支源码。后续任意分支有push事件,将自动同步至其他分支,与主从设置无关。若想更改主从分支,请返回并更改同步方向"),Fe&&W.a.createElement(l.a.Item,{label:"首次同步方向:",labelCol:{span:5},wrapperCol:{span:18}},C("first_sync_direction",{rules:[{required:!0,message:"请选择首次同步方向"}]})(W.a.createElement(o.a,{placeholder:"请选择首次同步方向",style:{width:"100%"}},W.a.createElement(o.a.Option,{value:"2"},Fe.type.split("::").pop(),"同步至GitLink"),W.a.createElement(o.a.Option,{value:"1"},"GitLink同步至",Fe.type.split("::").pop())))),Se&&Object(P.confirmInfo2)({mainBranch:"1"===Se?Ke:De,branch:"1"===Se?De:Ke})),W.a.createElement(c.a,{title:"取消绑定",visible:L,onCancel:function(){U(!1)},footer:W.a.createElement("div",null,W.a.createElement(p.a,{style:{width:"95px",height:"32px"},onClick:function(){U(!1)},className:"mr40"},"取消"),W.a.createElement(p.a,{style:{width:"95px",height:"32px"},onClick:function(){w((function(e,t){var a;if(!O()(a=I()(e||{})).call(a,"repositories")){var n,r=t.repositories,c=x()(r).call(r,1/0).toString();X.a.post(k()(n="/v1/".concat(D,"/")).call(n,K,"/sync_repositories/unbind.json"),{sync_repository_ids:c}).then((function(e){e&&e.data&&!e.data.status&&(U(!1),A.a.success("取消绑定成功"),v())}))}}))},type:"primary",ghost:!0},"确认")),width:650,className:"reposyncerModal"},W.a.createElement("div",{className:"flexBetween ml15",style:{justifyContent:"flex-start"}},W.a.createElement(r.a,{type:"exclamation-circle",theme:"filled",style:{fontSize:"22px",color:"#CA0002"}}),W.a.createElement("span",{className:"font-16 ml10",style:{lineHeight:"30px"}},R.length>1?"请选择您要解绑的仓库":"您确定要清空已绑定仓库?")),W.a.createElement("div",{className:"font-15 mt5 mb25 ml15"},"此操作将清空所有绑定仓库/绑定分支及同步日志,请谨慎操作"),W.a.createElement(l.a.Item,{style:{padding:"5px 15px"}},C("repositories",{rules:[{required:!0,message:"至少选择一个仓库"}]})(W.a.createElement(n.a.Group,null,b()(R).call(R,(function(e,t){return W.a.createElement(n.a,{key:t,value:e.sync_repository_ids,className:"infoBoxBlueBg mb20",style:{width:"570px",marginLeft:"0px"}},Object(le.platformLogo)(e.type),W.a.createElement("span",{className:"ml10"},e.external_repo_address))})))))),W.a.createElement(ce,{owner:D,projectsId:K,visible:T,setVisible:$,branchList:ae,sync_repositories_unique:R,reload:Ye,repositoriesBranch:J}))}))}}]); |