"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[79462],{78988:function(e,n,t){function a(e){var n=!0;if(e.length>0){for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:"",t=[],a=0;a=0?"Cmd":"Ctrl",ie=["pptm","pptx","ppt","pot","pps","ppa","potx","ppsx","ppam","pptm","potm","ppsm","doc","docx","dot","dotx","docm","dotm","xls","xlsx","csv","xlt","xla","xltx","xlsm","xltm","xlam","xlsb"],oe=f()(f()({},ce+"-B","bold"),ce+"-I","italic"),re=f()(f()(f()(f()({},W,"添加链接"),U,"添加代码块"),G,"添加文件"),X,"添加表格"),le=function(e){var n=e.defaultValue,t=void 0===n?"":n,a=e.onChange,i=e.width,r=void 0===i?"100%":i,s=e.height,d=void 0===s?400:s,m=e.miniToolbar,y=void 0!==m&&m,b=e.isFocus,S=void 0!==b&&b,w=e.watch,N=e.insertTemp,E=e.mode,Z=void 0===E?"markdown":E,P=e.id,A=void 0===P?"markdown-editor-id":P,V=e.showResizeBar,T=void 0!==V&&V,O=e.noStorage,F=void 0!==O&&O,D=e.showNullButton,M=void 0!==D&&D,q=e.showNullProgramButton,H=void 0!==q&&q,Q=e.hidetoolBar,ce=void 0!==Q&&Q,le=e.fullScreen,se=void 0!==le&&le,ue=e.onBlur,de=e.onCMBeforeChange,fe=e.onFullScreen,pe=e.className,me=void 0===pe?"":pe,he=e.disablePaste,ve=void 0!==he&&he,ge=e.disabled,xe=void 0!==ge&&ge,je=e.disabledFill,ye=void 0!==je&&je,be=e.placeholder,Se=void 0===be?"":be,we=e.values,ke=void 0===we?"":we,Ce=(0,p.useState)(null),Ne=u()(Ce,2),Ee=Ne[0],Ze=Ne[1],Pe=(0,p.useState)(t),Re=u()(Pe,2),Ie=Re[0],_e=Re[1],Ae=(0,p.useState)(w),Ve=u()(Ae,2),Te=Ve[0],Oe=Ve[1],Le=(0,p.useState)(se),Fe=u()(Le,2),Be=Fe[0],De=Fe[1],Me=(0,p.useState)(""),qe=u()(Me,2),He=qe[0],Ye=qe[1],$e=(0,p.useState)(0),ze=u()($e,2),Je=ze[0],Ke=ze[1],We=(0,p.useState)(d),Ge=u()(We,2),Ue=Ge[0],Xe=Ge[1],Qe=(0,p.useState)(!1),en=u()(Qe,2),nn=(en[0],en[1]),tn=(0,p.useRef)((0,J.Z)()),an=(0,p.useRef)(!1),cn=(0,p.useRef)(),on=(0,p.useRef)(),rn=(0,p.useRef)(),ln=(0,p.useRef)(),sn=(0,p.useRef)(),un=function(){var e=l()(o()().mark((function e(){var n,t;return o()().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,(0,z.ZP)("/api/attachments/distinct_hash_val.json",{method:"post",body:{hash_val:tn.current}});case 2:null!=(t=e.sent)&&null!==(n=t.attachments)&&void 0!==n&&n.length&&(console.log("cm:",Ee,on),t.attachments.map((function(e){e.content_type.indexOf("image")>-1?Ee.replaceSelection("![,](/api/attachments/".concat(e.id,"?type=").concat(e.content_type,")")):e.content_type.indexOf("video")>-1?Ee.replaceSelection('')):e.content_type.indexOf("pdf")>-1?Ee.replaceSelection('').concat(e.name,"")):Ee.replaceSelection("[".concat(e.name,"](").concat($.Z.API_SERVER,"/api/attachments/").concat(e.id,"?type=").concat(e.content_type,")"))})));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();(0,p.useEffect)((function(){var e=window.scrollY||window.pageYOffset;_e(ke),null==Ee||Ee.setValue(ke),window.scrollTo(0,e)}),[ke]),(0,p.useEffect)((function(){null==fe||fe(Be)}),[Be]),(0,p.useEffect)((function(){if(on.current){var e=function(e,t){if(!ve){var a=t.clipboardData;if(a){var c=a.types.toString(),i=a.items;if("Files"===c||a.types.indexOf("Files")>-1){if(t.preventDefault(),"stex"==Z)return;try{var o,r=i[1];"file"===(null===(o=i[0])||void 0===o?void 0:o.kind)&&(r=i[0]);var l=r.getAsFile(),s=l.name.split(".").pop();B(l,(function(e){var t,a,c;e.id?(null==l||null===(t=l.type)||void 0===t?void 0:t.indexOf("image"))>-1?n.replaceSelection("![,](/api/attachments/".concat(e.id,"?type=").concat(e.content_type,")")):(null==l||null===(a=l.type)||void 0===a?void 0:a.indexOf("video"))>-1?n.replaceSelection('')):(null==l||null===(c=l.type)||void 0===c?void 0:c.indexOf("pdf"))>-1?n.replaceSelection('').concat(l.name,"")):ie.includes(s)?n.replaceSelection('').concat(l.name,"")):n.replaceSelection("[".concat(l.name,"](").concat($.Z.API_SERVER,"/api/attachments/").concat(e.id,"?type=").concat(e.content_type,")")):401===(null==e?void 0:e.status)&&(document.location.href="/user/login")}))}catch(t){_.ZP.warning("请使用chrome浏览器粘贴")}return!0}return!0}return!0}t.preventDefault()},n=h().fromTextArea(on.current,{mode:Z,lineNumbers:!y,lineWrapping:!0,value:t,autoCloseTags:!H,autoCloseBrackets:!0});return n.on("keyup",(function(e,t){8===t.keyCode&&(""==e.getValue()?n.setOption("placeholder",Se):n.setOption("placeholder",null))})),n.on("keydown",(function(e,n){if(8===n.keyCode){var t=function(e,n){var t=e.getDoc(),a=t.getCursor(),c=t.getLine(a.line),i=c.charAt(a.ch-1),o=c.lastIndexOf("@▁@",a.ch),r=c.lastIndexOf("@▁▁@",a.ch),l=o>r?o:r,s=o>r?3:4;if(-1===te.indexOf(i))return null;if(console.log("change1:",n,e,c,a,l,o,r,i),l>=0&&a.ch-l<5){var u=l+s;return t.replaceRange("",{line:a.line,ch:l},{line:a.line,ch:u}),{line:a.line,ch:u}}return null}(e);t&&n.preventDefault()}})),S&&n.focus(),n.on("paste",e),n.on("dragleave",(function(e,n){rn.current.classList.remove("mouse-hover-md")})),n.on("dragover",(function(e,n){rn.current.classList.add("mouse-hover-md")})),n.on("drop",(function(e,t){var a;if(rn.current.classList.add("mouse-hover-md"),(a=t.dataTransfer.files).length>0){t.preventDefault(),t.stopPropagation();for(var c=function(){var e=a[i],t=e.name.split(".").pop();B(e,(function(a){var c,i,o;a.id?(null==e||null===(c=e.type)||void 0===c?void 0:c.indexOf("image"))>-1?n.replaceSelection("![,](/api/attachments/".concat(a.id,"?type=").concat(a.content_type,")")):(null==e||null===(i=e.type)||void 0===i?void 0:i.indexOf("video"))>-1?n.replaceSelection('')):(null==e||null===(o=e.type)||void 0===o?void 0:o.indexOf("pdf"))>-1?n.replaceSelection('').concat(e.name,"")):ie.includes(t)?n.replaceSelection('').concat(e.name,"")):n.replaceSelection("[".concat(e.name,"](").concat($.Z.API_SERVER,"/api/attachments/").concat(a.id,"?type=").concat(a.content_type,")")):401===(null==a?void 0:a.status)&&(document.location.href="/user/login")}))},i=0;i0||a.target.offsetWidth>0)&&(dn(),Ee.setSize("100%","100%"),Ee.refresh())}}catch(e){t.e(e)}finally{t.f()}}));return e.observe(on.current.parentElement),e}();return function(){var n,t;null!==(n=on.current)&&void 0!==n&&n.parentElement&&e.unobserve(null===(t=on.current)||void 0===t?void 0:t.parentElement)}}}),[Ee,dn]),(0,p.useEffect)((function(){if(Ee){for(var e=[],n=function(){var n=u()(a[t],2),c=n[0],i=n[1],o=f()({},c,(function(){fn(i)}));e.push(o),Ee.addKeyMap(o)},t=0,a=Object.entries(oe);t0){var e=(new Date).getTime(),n=window.sessionStorage.getItem(A);e>=Je+1e4&&(!n||n!==Ie)&&(window.sessionStorage.setItem(A,Ie),nn(!0))}}),1e4),(0,p.useEffect)((function(){Oe(w)}),[Ee,w]),(0,p.useEffect)((function(){Ee&&S&&Ee.focus()}),[Ee,S]),(0,p.useEffect)((function(){if(Te&&Ee){var e=function(e){var n=e.target;if(sn.current){var t=n.scrollTop/n.scrollHeight;sn.current.scrollTop=sn.current.scrollHeight*t}},n=Ee.getScrollerElement();return n.addEventListener("scroll",e),function(){n.removeEventListener("scroll",e)}}}),[Ee,Te]),(0,p.useEffect)((function(){if(Ee&&de){var e=function(e,n){de(e,n)};return Ee.on("beforeChange",e),function(){Ee.off("beforeChange",e)}}}),[Ee,de]),(0,p.useEffect)((function(){if(Ee&&ue){var e=function(){ue(Ee.getValue())};return Ee.on("blur",e),function(){Ee.off("blur",e)}}}),[Ee,ue]),(0,p.useEffect)((function(){if(Ee){var e=function(e,n){var t=e.getValue();_e(t),Ke((new Date).getTime()),e.getScrollerElement().dispatchEvent(new CustomEvent("scroll")),a&&(H?a(t,gn(t)):a(t))};return Ee.on("change",e),function(){Ee.off("change",e)}}}),[Ee,a]),(0,p.useEffect)((function(){if(Ee)if(null==t)Ee.setValue(""),_e("");else{var e=window.scrollY||window.pageYOffset;t!==Ee.getValue()&&(Ee.setValue(t),_e(t),Ee.setCursor(xe?1:Ee.lineCount(),0),window.scrollTo(0,e))}}),[Ee,t]);var fn=(0,p.useCallback)((function(e){var n=Ee.getCursor(),t=Ee.getSelection(),a=t.split("\n");switch(e){case"bold":return Ee.replaceSelection("**"+t+"**"),""===t&&Ee.setCursor(n.line,n.ch+2),Ee.focus();case"italic":return Ee.replaceSelection("*"+t+"*"),""===t&&Ee.setCursor(n.line,n.ch+1),Ee.focus();case"code":return Ee.replaceSelection("`"+t+"`"),""===t&&Ee.setCursor(n.line,n.ch+1),Ee.focus();case"inline-latex":return Ee.replaceSelection("`$$"+t+"$$`"),""===t&&Ee.setCursor(n.line,n.ch+3),Ee.focus();case"latex":return Ee.replaceSelection("```latex\n"+t+"\n```"),Ee.setCursor(n.line+1,t.length+1),Ee.focus();case"line-break":return Ee.replaceSelection("
\n"),Ee.focus();case"list-ul":return""===t?Ee.replaceSelection("- "+t):Ee.replaceSelection(a.map((function(e){return""===e?"":"- ".concat(e)})).join("\n")),Ee.focus();case"list-ol":return""===t?Ee.replaceSelection("1. "+t):Ee.replaceSelection(a.map((function(e,n){return""===e?"":"".concat(n+1,". ").concat(e)})).join("\n")),Ee.focus();case"add-null-ch":return""===t&&Ee.setCursor(n.line,n.ch),Ee.replaceSelection("▁"),Ee.focus();case"add-signal":return""===t&&Ee.setCursor(n.line,n.ch),Ee.replaceSelection("@▁@"),Ee.focus();case"add-multiple":return""===t&&Ee.setCursor(n.line,n.ch),Ee.replaceSelection(te),Ee.focus();case"inster-template-1":return""===t&&Ee.setCursor(n.line,n.ch),Ee.replaceSelection("\n**模板标题**\n模板正文内容,可输入文本内容和粘贴图片等操作"),Ee.focus();case"eraser":return Ee.setValue(""),Ee.focus();case"trigger-watch":return Oe(!Te),Ee.focus();case"trigger-full-screen":return De(!Be),Ee.focus();case W:return void Ye(W);case U:return void Ye(U);case G:return void Ye(G);case X:return void Ye(X);default:throw new Error}}),[Ee,Te,Be]),pn=(0,p.useCallback)((function(e){switch(Ye(""),He){case W:var n=e.title,t=e.link;return Ee.replaceSelection("[".concat(n,"](").concat(t,")")),Ee.focus();case U:var a=e.language,c=e.content;return Ee.replaceSelection(["```"+a,c,"```"].join("\n")),Ee.focus();case G:var i=e.src,o=e.alt;return o?Ee.replaceSelection("![ ".concat(o," ]( ").concat(i,' "').concat(o,'" )')):Ee.replaceSelection("![,](".concat(i,")")),Ee.focus();case X:for(var r=e.row,l=e.col,s=e.align,u="\n",d=0;d300&&(n=300),Xe(d+n+"px")}},a=ln.current,c=!1,i=0;return a.addEventListener("mousedown",e),document.addEventListener("mousemove",t),document.addEventListener("mouseup",n),function(){a.removeEventListener("mousedown",e),document.removeEventListener("mousemove",t),document.removeEventListener("mouseup",n)}}}),[Ee,ln]),(0,p.useEffect)((function(){Xe(d)}),[d]);var vn={width:ae(r),height:ae(Ue)},gn=((0,p.useMemo)((function(){if(Je){var e=new Date(Je),n=e.getHours(),t=e.getMinutes(),a=e.getSeconds();return t=t<10?"0"+t:t,a=a<10?"0"+a:a,"".concat(n=n<10?"0"+n:n,":").concat(t,":").concat(a)}return 0}),[Je]),function(e){var n=[];if(H){e=e.replace(/(@▁▁@|@▁@)/g,(function(e,t,a){n.push({multiLine:!("@▁@"===e)})}))}return n});return(0,x.jsxs)(p.Fragment,{children:[(0,x.jsx)("div",{className:"markdown-editor-wrapper",ref:rn,children:(0,x.jsxs)("div",{className:"markdown-editor-container ".concat(me," ").concat(Te?"on-preview":""," ").concat(y?"mini":""," ").concat(Be?"full-screen":""),style:vn,children:[(0,x.jsx)(k,{insertTemp:N,watch:Te,fullScreen:Be,showNullButton:M,showNullProgramButton:H,onActionCallback:fn,hidetoolBar:ce,uuid:tn.current,setOpenPhones:function(){an.current=!0}}),(0,x.jsxs)("div",{className:"markdown-editor-body",children:[(0,x.jsx)("div",{className:"codemirror-container",children:(0,x.jsx)("textarea",{ref:on,placeholder:Se})}),Te?(0,x.jsxs)("div",{ref:sn,className:"preview-container",children:["stex"===Z&&(0,x.jsx)(j,{value:Ie}),"stex"!==Z&&(0,x.jsx)(g.Z,{disabledFill:ye,showProgramFill:H,value:Ie})]}):null]})]})}),T?(0,x.jsx)("a",{ref:ln,className:"editor-resize"}):null,(0,x.jsx)(C.Z,{children:re[He]?(0,x.jsx)(K.Z,{centered:!0,title:re[He],open:!0,onCancel:hn,footer:null,className:"markdown-popup-form",children:mn}):null})]})}},82255:function(e,n,t){t.d(n,{Z:function(){return p}});var a=t(82100),c=t.n(a),i=t(29186),o=t.n(i),r=t(80619),l=t.n(r),s=t(47074),u=t.n(s),d=t(59301),f=t(4676),p=function(e){l()(t,e);var n=u()(t);function t(e){var a;c()(this,t),a=n.call(this,e);var i=window.document;return a.node=i.createElement("div"),i.body.appendChild(a.node),a}return o()(t,[{key:"render",value:function(){var e=this.props.children;return(0,f.createPortal)(e,this.node)}},{key:"componentWillUnmount",value:function(){window.document.body.removeChild(this.node)}}]),t}(d.Component)},22336:function(e,n,t){t.d(n,{Z:function(){return c}});var a=t(59301);function c(e,n){var t=(0,a.useRef)();(0,a.useEffect)((function(){t.current=e})),(0,a.useEffect)((function(){if(null!==n){var e=setInterval((function(){t.current()}),n);return function(){return clearInterval(e)}}}),[n])}}}]);