You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
NewEduCoderBuild/8424.deda2575.async.js

2 lines
11 KiB

"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[8424],{10486:function(ne,H,e){var t=e(59301),_=e(11389),R=e(48136),V=e(87144),L=e(43418),v=e(59301);const Q=(0,t.forwardRef)(({callback:W,width:T,onChange:S,disabled:Z,readOnly:B,type:n="",value:f="",style:w={}},O)=>{const A=(0,t.useRef)(),P=(0,t.useRef)(),[b,E]=(0,t.useState)(0),[r,C]=(0,t.useState)(0),[k,Y]=(0,t.useState)(!1),p=()=>{var u=document.createElement("div");u.innerHTML=A.current.getValue();var c=u.innerText;return W&&W(c),c};(0,t.useImperativeHandle)(O,()=>({getData:p}));const i=u=>{u.preventDefault();const c=u.clientX-b,F=u.clientY-r;document.body.onmousemove=g=>{let a=g.clientX-c,m=g.clientY-F;const X=document.getElementsByClassName("markdown-popup-form")[0],z=window.innerWidth-X.offsetWidth,h=window.innerHeight-X.offsetHeight;a=Math.max(0,Math.min(a,z)),m=Math.max(0,Math.min(m,h)),l(g.clientX,g.clientY,c,F)&&(E(a),C(m))},document.body.onmouseup=function(){document.body.onmousemove=null}},l=(u,c,F,g)=>{const a=document.body.clientHeight,m=document.body.clientWidth;return u<20&&F>u||u>m-20&&F<u||c<20&&g>c||c>a-20&&g<c?(document.body.onmousemove=null,document.body.onmouseup=null,!1):!0};(0,t.useEffect)(()=>{k&&setTimeout(()=>{const u=document.getElementsByClassName("markdown-popup-form")[0],c=window.innerWidth/2-u.offsetWidth/2,F=window.innerHeight/2-u.offsetHeight/2;E(c),C(F)},0)},[k]);const $=()=>{Z||B||Y(!0)};return v.createElement("div",{style:w},v.createElement("div",{style:{width:T||"100%",position:"relative"},className:`${_.Z.mathFillWrap} ${Z||B?"cursorDefault":""}`,onClick:()=>$()},v.createElement("math-field",{disabled:Z,locale:"zh_cn",class:`${_.Z.mathField} ${n}`,readOnly:B,placeholder:"\u8BF7\u8F93\u5165\u516C\u5F0F",ref:A,style:{width:"100%",fontSize:f?18:14},value:f||""})),v.createElement(L.default,{maskClosable:!1,centered:!0,width:860,style:{position:"absolute",left:b,top:r},title:v.createElement("div",{style:{cursor:"move"},onMouseDown:i},"\u8F93\u5165\u516C\u5F0F"),open:k,onOk:()=>{const u=P.current.getData();A.current.setValue(u),S(u),Y(!1)},onCancel:()=>{Y(!1)},destroyOnClose:!0,className:"markdown-popup-form"},v.createElement(V.Z,{value:f,ref:P,onChange:S,showSaveButton:!1})))});H.Z=Q},7319:function(ne,H,e){e.d(H,{Q:function(){return T},Z:function(){return Z}});var t=e(59301),_={flex_box_center:"flex_box_center___VcCAZ",flex_space_between:"flex_space_between___I3jjO",flex_box_vertical_center:"flex_box_vertical_center___Rm_54",flex_box_center_end:"flex_box_center_end___nTsdc",flex_box_column:"flex_box_column___UVpzN",tags:"tags___kRRoe",text:"text___IyyEa",tagWrap:"tagWrap___v63mB",tag:"tag___X7wE6",c:"c___mZMPq",cpp:"cpp___eaTie",java:"java___gL98T",python:"python___eNRkk",edit:"edit___tbVu0"},R=e(92310),V=e.n(R),L=e(43418),v=e(8591),Q=e(59263),W=(B,n,f)=>new Promise((w,O)=>{var A=E=>{try{b(f.next(E))}catch(r){O(r)}},P=E=>{try{b(f.throw(E))}catch(r){O(r)}},b=E=>E.done?w(E.value):Promise.resolve(E.value).then(A,P);b((f=f.apply(B,n)).next())});const T=({title:B="\u8BBE\u7F6E\u7F16\u7A0B\u8BED\u8A00",dataSource:n=[],visible:f,setVisible:w,tip:O,onOk:A})=>{const[P,b]=(0,t.useState)([]),[E,r]=(0,t.useState)(!1);return(0,t.useEffect)(()=>{f&&b(n)},[f]),t.createElement(L.default,{centered:!0,open:f,title:B,confirmLoading:E,width:564,onOk:()=>W(void 0,null,function*(){if(!P.length){v.ZP.warning("\u8BF7\u9009\u62E9\u7F16\u7A0B\u8BED\u8A00");return}r(!0),yield A(P),r(!1)}),onCancel:()=>w(!1)},!!O&&t.createElement("div",{className:"c-grey-666 font16 mb10"},O),t.createElement("div",{style:{background:"#F6F7F9",padding:"20px 20px 20px 26px"}},t.createElement(Q.default.Group,{value:P,options:[{label:"C\u8BED\u8A00",value:"C"},{label:"C++\u8BED\u8A00",value:"C++",style:{marginLeft:30}},{label:"Java\u8BED\u8A00",value:"Java",style:{marginLeft:30}},{label:"Python\u8BED\u8A00",value:"Python",style:{marginLeft:30}}],onChange:C=>{b(C)}})))};var Z=({title:B="\u5141\u8BB8\u7F16\u7A0B\u7684\u8BED\u8A00",className:n,style:f={},onEdit:w,dataSource:O=[]})=>{const A={C:t.createElement("div",{className:_.c},"C"),"C++":t.createElement("div",{className:_.cpp},"C++"),Java:t.createElement("div",{className:_.java},"Java"),Python:t.createElement("div",{className:_.python},"Python")};return t.createElement("div",{className:V()(_.tags,n),style:f},!!B&&t.createElement("div",{className:_.text},B),t.createElement("div",{className:_.tagWrap},O==null?void 0:O.map(P=>t.createElement(t.Fragment,{key:P},A[P]))),!!w&&t.createElement("div",{onClick:w,className:`iconfont icon-bianji_Hover ${_.edit}`}))}},42240:function(ne,H,e){var t=e(85504),_=e(59301),R=e(8591),V=e(3113),L=e(43418),v=e(24334),Q=e.n(v),W=e(58253),T=e(34339),S=e(42211),Z=e(61186),B=e.n(Z),n=e(59301),f=Object.defineProperty,w=Object.defineProperties,O=Object.getOwnPropertyDescriptors,A=Object.getOwnPropertySymbols,P=Object.prototype.hasOwnProperty,b=Object.prototype.propertyIsEnumerable,E=(p,i,l)=>i in p?f(p,i,{enumerable:!0,configurable:!0,writable:!0,value:l}):p[i]=l,r=(p,i)=>{for(var l in i||(i={}))P.call(i,l)&&E(p,l,i[l]);if(A)for(var l of A(i))b.call(i,l)&&E(p,l,i[l]);return p},C=(p,i)=>w(p,O(i)),k=(p,i,l)=>new Promise(($,u)=>{var c=a=>{try{g(l.next(a))}catch(m){u(m)}},F=a=>{try{g(l.throw(a))}catch(m){u(m)}},g=a=>a.done?$(a.value):Promise.resolve(a.value).then(c,F);g((l=l.apply(p,i)).next())});const Y=({ButtonProps:p,ButtonText:i,form:l,answerKey:$,hackidentifier:u="",items:c={},setIsSubmitCode:F})=>{const[g,a]=(0,_.useState)(!1);let[m,X]=(0,_.useState)("");const z=(0,t.useParams)(),[h,q]=(0,_.useState)({}),le=z.type==="edit",ie=window.location.href.includes("problemset")?1:2;(0,_.useEffect)(()=>{(le||u)&&X(u||z.id)},[z]),(0,_.useEffect)(()=>()=>{sessionStorage.removeItem("projectFill")},[]);function ue(I,N){return k(this,null,function*(){var M;let d=l.getFieldValue("hack_codes"),x=l.getFieldValue($);if(!d.code){R.ZP.info("\u7A0B\u5E8F\u4EE3\u7801\u4E0D\u80FD\u4E3A\u7A7A\uFF01");return}if(!d.language){R.ZP.info("\u7F16\u7A0B\u8BED\u8A00\u4E0D\u80FD\u4E3A\u7A7A\uFF01");return}if(x.length>0&&((M=x.filter(y=>!y.answer_text))==null?void 0:M.length)>0){R.ZP.info("\u586B\u7A7A\u9879\u4E0D\u80FD\u4E3A\u7A7A\uFF01");return}let o=d.code;return x.length>0&&(x==null||x.map(y=>{y.multi_line?o=o.substring(0,o.indexOf("@\u2581\u2581@"))+y.answer_text+o.substring(o.indexOf("@\u2581\u2581@")+4):o=o.substring(0,o.indexOf("@\u2581@"))+y.answer_text+o.substring(o.indexOf("@\u2581@")+3)})),yield(0,T.n4)(N,I||{code:v.Base64.encode(o),language:d.language,answers:x==null?void 0:x.map(y=>y.answer_text)})})}function oe(I,N){return k(this,null,function*(){let M=c.userAnswer,d=v.Base64.decode(c.code);return M.length>0&&(M==null||M.map(o=>{o.multi_line?d=d.substring(0,d.indexOf("@\u2581\u2581@"))+o.value+d.substring(d.indexOf("@\u2581\u2581@")+4):d=d.substring(0,d.indexOf("@\u2581@"))+o.value+d.substring(d.indexOf("@\u2581@")+3)})),yield(0,T.n4)(N,I||{code:v.Base64.encode(d),language:c.language,answers:M==null?void 0:M.map(o=>o.value)})})}function ee(){return new Date().getTime()}return n.createElement("div",null,n.createElement(V.ZP,C(r({loading:g},p),{onClick:()=>k(void 0,null,function*(){var I,N,M,d;if(i==="\u63D0\u4EA4\u4EE3\u7801"){if(a(!0),g)return;let D=yield(0,W.ZP)(`/api/problems/${m}/start.json`,{method:"get"});const U=yield oe(null,D==null?void 0:D.identifier);if((U==null?void 0:U.status)===0){let j=function(){return k(this,null,function*(){var te;const{status:J,message:re,data:G}=yield(0,T.rX)(D==null?void 0:D.identifier,"submit"),se=ee()-K>10*1e3*((te=c==null?void 0:c.userAnswer)==null?void 0:te.length);if(J!==0&&!se&&setTimeout(j,1e3),se){L.default.error({centered:!0,okText:"\u77E5\u9053\u5566",title:"\u8C03\u8BD5\u4EE3\u7801\u8D85\u65F6",content:"\u8BF7\u68C0\u67E5\u7A0B\u5E8F\u4EE3\u7801\u662F\u5426\u5B58\u5728\u6B7B\u5FAA\u73AF"}),a(!1);return}J===0&&(a(!1),q(G),G.status===2&&(a(!1),L.default.error({centered:!0,okText:"\u77E5\u9053\u5566",title:"\u8C03\u8BD5\u4EE3\u7801\u8D85\u65F6"})))})};const K=ee();yield(0,T.bM)(D==null?void 0:D.identifier,{}),j()}else a(!1);F&&F(!0);return}let x=!0;if(yield l.validateFields().then(()=>{x=!1},D=>{var U,K,j;D.errorFields[0].name.includes("standard_answers")?R.ZP.error("\u586B\u7A7A\u9879\u7B54\u6848\u4E0D\u80FD\u4E3A\u7A7A"):R.ZP.error(D.errorFields[0].errors[0]),((U=D.errorFields)==null?void 0:U.length)===0&&(x=!1),l.scrollToField((j=(K=D==null?void 0:D.errorFields)==null?void 0:K[0])==null?void 0:j.name,{behavior:"smooth",block:"center"}),x=!0}),x||(a(!0),g))return;let o="",s=l.getFieldsValue();m?o=yield(0,W.ZP)(`/api/problems/${m}.json`,{method:"put",body:C(r({},s),{hack:C(r({},s==null?void 0:s.hack),{sub_discipline_id:(d=(M=s==null?void 0:s.hack)==null?void 0:M.sub_discipline_id)==null?void 0:d[1],difficult:s.difficulty,item_banks_group_id:s.item_banks_group_id}),hack_codes:C(r({},s.hack_codes),{code:v.Base64.encode(s.hack_codes.code)}),update_hack_sets:[r({},s.hack_sets)],is_blank:!0})}):(o=yield(0,W.ZP)("/api/problems.json",{method:"post",body:C(r({},s),{hack:C(r({},s==null?void 0:s.hack),{sub_discipline_id:(N=(I=s==null?void 0:s.hack)==null?void 0:I.sub_discipline_id)==null?void 0:N[1],difficult:s.difficulty,item_banks_group_id:s.item_banks_group_id}),hack_codes:C(r({},s.hack_codes),{code:v.Base64.encode(s.hack_codes.code)}),hack_sets:[r({},s.hack_sets)],is_blank:!0})}),m=o==null?void 0:o.identifier,sessionStorage.projectFill=m,X(m));let y=yield(0,W.ZP)(`/api/problems/${m}/start.json`,{method:"get"});const ae=yield ue(null,y==null?void 0:y.identifier);if((ae==null?void 0:ae.status)===0){let U=function(){return k(this,null,function*(){var K;const{status:j,message:te,data:J}=yield(0,T.rX)(y==null?void 0:y.identifier,"submit"),G=ee()-D>(s.hack.time_limit+3)*1e3*((K=s==null?void 0:s.standard_answers)==null?void 0:K.length);if(j!==0&&!G&&setTimeout(U,1e3),G){L.default.error({centered:!0,okText:"\u77E5\u9053\u5566",title:"\u8C03\u8BD5\u4EE3\u7801\u8D85\u65F6"}),a(!1);return}j===0&&(a(!1),q(J),J.status===2&&(a(!1),L.default.error({centered:!0,okText:"\u77E5\u9053\u5566",title:"\u8C03\u8BD5\u4EE3\u7801\u8D85\u65F6"})))})};const D=ee();yield(0,T.bM)(y==null?void 0:y.identifier,{}),U()}else a(!1)})}),i),(h==null?void 0:h.id)&&h.status!==2&&n.createElement(L.default,{open:(h==null?void 0:h.id)&&h.status!==2,title:"\u8FD0\u884C\u7ED3\u679C",width:1100,footer:!1,onOk:()=>{q({})},onCancel:()=>{q({})}},n.createElement("div",{style:{maxHeight:600,overflow:"auto",marginBottom:15}},n.createElement("div",{style:{marginBottom:20,display:"flex",justifyContent:"space-between",fontSize:14}},n.createElement("div",null,n.createElement("span",{style:{color:"#666666"}},"\u72B6\u6001"),n.createElement("span",{style:{marginLeft:12,color:h.status!==0&&"#E30000"}},S.Im[h.status])),n.createElement("div",null,n.createElement("span",{style:{color:"#666666"}},"\u63D0\u4EA4\u65F6\u95F4"),n.createElement("span",{style:{marginLeft:12}},B()(h.created_at).format("YYYY-MM-DD HH:mm:ss"))),n.createElement("div",null,n.createElement("span",{style:{color:"#666666"}},"\u8BED\u8A00"),n.createElement("span",{style:{marginLeft:12}},h.language)),n.createElement("div",null,n.createElement("span",{style:{color:"#666666"}},"\u6267\u884C\u7528\u65F6"),n.createElement("span",{style:{marginLeft:12}},h.execute_time,"ms"))),n.createElement(S.Y4,r({},h)))))};H.Z=Y}}]);