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.
1 line
8.1 KiB
1 line
8.1 KiB
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([[124],{"9Bee":function(e,t,n){"use strict";var a=n("q1tI"),r=n.n(a),c=(n("vg9a"),n("tJVT")),i=n("DlQD"),l=n.n(i),o=n("rUJ1");function s(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var a=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);if(null===t)return e;var n=Object(c["a"])(t,1),r=n[0];return r.length>=a.length?e.slice(a.length):e})).join("\n")}var u=[],p=["<ul>"],m=new l.a.Renderer,d=/^ *(#{1,6}) *([^\n]+?) *(?:#+ *)?(?:\n+|$)/;function f(){u.length=0,p=["<ul>"]}function h(e,t,n,a){if(t>=e.length||e[t].level<=n)return t;var r=e[t];a.push("<li><a href='#"+r.anchor+"'>"+r.text+"</a>"),t++;var c=[];return t=h(e,t,r.level,c),c.length>0&&(a.push("<ul>"),c.forEach((function(e){a.push(e)})),a.push("</ul>")),a.push("</li>"),t=h(e,t,n,a),t}function v(){return h(u,0,0,p),p.push("</ul>"),p.join("")}var E={heading:function(e){var t=d.exec(e);if(t)return{type:"heading",raw:t[0],depth:t[1].length,text:t[2]}},fences:function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],a=s(n,t[3]||""),r=t[2]?t[2].trim():t[2];if(["latex","katex","math"].indexOf(r)>=0){var c=y(),i=a;a=c,_[c]={type:"block",expression:i}}return{type:"code",raw:n,lang:r,text:a}}}},b=/(?:\${2})([^\n`]+?)(?:\${2})/gi,g=0,y=function(){return"__special_katext_id_".concat(g++,"__")},_={};function j(){return _}function O(){g=0,_={}}function w(e){return e=e.replace(b,(function(e,t){var n=y();return _[n]={type:"inline",expression:t},n})),e}var x=m.listitem;m.listitem=function(e){return x(w(e))};var k=m.paragraph;m.paragraph=function(e){return k(w(e))};var N=m.tablecell;m.tablecell=function(e,t){return N(w(e),t)},m.code=function(e,t,n){var a=(t||"").match(/\S*/)[0];return a?["latex","katex","math"].indexOf(a)>=0?"<p class='editormd-tex'>".concat(e,"</p>"):'<pre class="prettyprint linenums"><code class="language-'.concat(t,'">').concat(n?e:Object(o["escape"])(e,!0),"</code></pre>\n"):'<pre class="prettyprint linenums"><code>'+(n?e:Object(o["escape"])(e,!0))+"</code></pre>"},m.heading=function(e,t,n){var a=this.options.headerPrefix+n.toLowerCase().replace(/[^\w\\u4e00-\\u9fa5]]+/g,"-");return u.push({anchor:a,level:t,text:e}),"<h"+t+' id="'+a+'">'+e+"</h"+t+">"},l.a.setOptions({silent:!0,smartypants:!0,gfm:!0,pedantic:!1}),l.a.use({tokenizer:E,renderer:m});var T=l.a,A=(n("SJMd"),n("wMS7")),R=n.n(A),S=n("Oy/b"),I=/<pre[^>]*>/g;function L(e){var t=document.createElement("div");return t.innerHTML=e,0===t.childNodes.length?"":t.childNodes[0].nodeValue}t["a"]=function(e){var t=e.value,n=void 0===t?"":t,c=e.className,i=e.style,l=void 0===i?{}:i,o=String(n),s=Object(a["useMemo"])((function(){var e=T(o),t=j();return o.match(/\[TOC\]/)&&(e=e.replace("<p>[TOC]</p>",v()),f()),e=e.replace(/(__special_katext_id_\d+__)/g,(function(e,n){var a=t[n],r=a.type,c=a.expression;return Object(S["renderToString"])(L(c)||"",{displayMode:"block"===r,throwOnError:!1,output:"html"})})),e=e.replace(/\u2581/g,"\u2581\u2581\u2581"),O(),R.a.sanitize(e)}),[o]),u=Object(a["useRef"])();function p(e){var t=e.target;if("A"===t.tagName.toUpperCase()){var n=t.getAttribute("href");if(n.startsWith("#")){e.preventDefault();var a=document.getElementById(n.replace("#",""));a&&(a.parentNode.scrollTop=a.offsetTop)}}}return Object(a["useEffect"])((function(){if(u.current&&s&&s.match(I)&&window.PR.prettyPrint(),u.current)return u.current.addEventListener("click",p),function(){u.current.removeEventListener("click",p),O(),f()}}),[s,u.current,p]),r.a.createElement("div",{ref:u,style:l,className:"".concat(c||""," markdown-body"),dangerouslySetInnerHTML:{__html:s}})}},X0ci:function(e,t,n){},rmrE:function(e,t,n){},ymAh:function(e,t,n){"use strict";n.r(t),n.d(t,"Types",(function(){return a}));n("T2oS");var a,r=n("W9HT"),c=(n("P2fV"),n("NJEC")),i=(n("+L6B"),n("2/Rp")),l=n("WmNS"),o=n.n(l),s=n("9og8"),u=n("tJVT"),p=n("k1fw"),m=n("q1tI"),d=n.n(m),f=n("Ty5D"),h=n("55Ip"),v=n("ErOA"),E=n("m3rI"),b=n("9Bee"),g=(n("X0ci"),n("rmrE"),{data:void 0});function y(e,t){switch(t.type){case a.GET_DATA:return Object(p["a"])(Object(p["a"])({},e),{},{data:t.payload});case a.PRAISE:return Object(p["a"])(Object(p["a"])({},e),{},{data:t.payload});default:throw new Error}}(function(e){e["GET_DATA"]="get-data",e["PRAISE"]="on-praise"})(a||(a={})),t["default"]=function(){var e,t,n,l,_,j,O,w,x,k=Object(m["useReducer"])(y,g),N=Object(u["a"])(k,2),T=N[0],A=N[1],R=T.data,S=Object(f["m"])(),I=S.caseId,L=Object(f["k"])();function C(){return D.apply(this,arguments)}function D(){return D=Object(s["a"])(o.a.mark((function e(){var t;return o.a.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,Object(v["e"])("praise_tread/like.json",{object_id:I,object_type:"library"});case 2:t=Object(p["a"])({},R),t.operation.user_praised=!0,t.praise_count+=1,A({type:a.PRAISE,payload:t});case 6:case"end":return e.stop()}}),e)}))),D.apply(this,arguments)}function J(){return M.apply(this,arguments)}function M(){return M=Object(s["a"])(o.a.mark((function e(){return o.a.wrap((function(e){while(1)switch(e.prev=e.next){case 0:return e.next=2,Object(v["b"])("/libraries/".concat(I,".json"));case 2:L.push("/moop_cases");case 3:case"end":return e.stop()}}),e)}))),M.apply(this,arguments)}return Object(m["useEffect"])((function(){var e=!1;function t(){return n.apply(this,arguments)}function n(){return n=Object(s["a"])(o.a.mark((function t(){var n;return o.a.wrap((function(t){while(1)switch(t.prev=t.next){case 0:return t.next=2,Object(v["c"])("libraries/".concat(I,".json"));case 2:n=t.sent,e||(404===n.status?L.push("/moop_cases"):A({type:a.GET_DATA,payload:n}));case 4:case"end":return t.stop()}}),t)}))),n.apply(this,arguments)}return e||t(),function(){e=!0}}),[I]),d.a.createElement(r["a"],{spinning:!R,delay:500},R?d.a.createElement("section",{className:"moop-info"},d.a.createElement("div",{className:"crumb"},d.a.createElement(h["Link"],{to:"/moop_cases"},"\u6559\u5b66\u6848\u4f8b > "),d.a.createElement("span",null,R.title)),d.a.createElement("div",{className:"title"},d.a.createElement("h2",null,R.title,null===(e=R.tags)||void 0===e?void 0:e.map((function(e,t){return d.a.createElement("span",{className:"label-"+t,key:e.id},e.name)}))),d.a.createElement(h["Link"],{to:"/moop_cases"},"\u8fd4\u56de")),d.a.createElement("div",{className:"moop-info-body"},d.a.createElement("div",{className:"moop-sub-title"},d.a.createElement("img",{src:"".concat(E["a"].IMG_SERVER,"/images/").concat(null===(t=R.creator)||void 0===t?void 0:t.image_url),alt:"cover",width:50}),d.a.createElement("div",{className:"desc"},d.a.createElement("div",{className:"flex-container"},d.a.createElement("span",null,null===(n=R.creator)||void 0===n?void 0:n.name),(null===(l=R.operation)||void 0===l?void 0:l.can_editable)?d.a.createElement(h["Link"],{to:"/moop_cases/".concat(R.id,"/edit"),style:{marginRight:10}},d.a.createElement(i["a"],{type:"ghost"},"\u7f16\u8f91")):null,(null===(_=R.operation)||void 0===_?void 0:_.can_deletable)?d.a.createElement(c["a"],{placement:"bottomRight",title:"\u662f\u5426\u786e\u8ba4\u5220\u9664\uff1f",onConfirm:J},d.a.createElement(i["a"],{type:"dashed"},"\u5220\u9664")):null),d.a.createElement("div",{className:"sum"},d.a.createElement("span",null,null===(j=R.creator)||void 0===j?void 0:j.school_name),d.a.createElement("span",null,"\u7f16\u7801\uff1a",R.uuid),d.a.createElement("span",null,"\u53d1\u5e03\u65f6\u95f4\uff1a",R.published_at)))),d.a.createElement("p",null,"\u4f5c\u8005\uff1a","".concat(R.author_name," / ").concat(R.author_school_name)),d.a.createElement(b["a"],{value:R.content}),d.a.createElement("ul",{className:"attachment"},null===(O=R.attachments)||void 0===O?void 0:O.map((function(e){return d.a.createElement("li",{key:e.id},d.a.createElement("a",{href:e.url},d.a.createElement("i",{className:"iconfont icon-fujian"}),d.a.createElement("span",null,e.title),d.a.createElement("span",null,e.filesize)))}))),d.a.createElement("button",{className:"praise",disabled:null===(w=R.operation)||void 0===w?void 0:w.user_praised,onClick:C},(null===(x=R.operation)||void 0===x?void 0:x.user_praised)?d.a.createElement("span",null,"\u5df2\u8d5e"):d.a.createElement("span",null,d.a.createElement("i",{className:"iconfont icon-dianzan"})),d.a.createElement("span",null,R.praise_count)))):null)}}}]); |