| 1234567891011121314 |
- /**
- * Name : Martor v1.3.3
- * Created by : Agus Makmun (Summon Agus)
- * Release date : 18-Sep-2018
- * License : GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007
- * Repository : https://github.com/agusmakmun/django-markdown-editor
- **/
- !function(U){U||(U=django.jQuery),U.fn.martor=function(){var e=U(this),n=U(".main-martor");e.trigger("martor.init");var A=function(e){var n=null,o=0;if(document.cookie&&""!==document.cookie)for(var t=document.cookie.split(";");o<t.length;o++){var a=jQuery.trim(t[o]);if(a.substring(0,e.length+1)===e+"="){n=decodeURIComponent(a.substring(e.length+1));break}}return n};n.each(function(e,n){var s=U(n).data("field-name"),r=U("#id_"+s),a="martor-"+s,c=ace.edit(a),o=JSON.parse(r.data("enable-configs").replace(/'/g,'"'));c.setTheme("ace/theme/github"),c.getSession().setMode("ace/mode/markdown"),c.getSession().setUseWrapMode(!0),c.$blockScrolling=1/0,c.renderer.setScrollMargin(10,10),c.setAutoScrollEditorIntoView(!0),c.setOptions({enableBasicAutocompletion:!0,enableSnippets:!0,enableLiveAutocompletion:!0,enableMultiselect:!1}),"true"==o.living&&U(n).addClass("enable-living");var t={getCompletions:function(e,n,o,t,a){var i=emojis,s=e.getSession().getTokenAt(o.row,o.column.count).value.split(/\s+/);":"==s[s.length-1][0]&&a(null,i.map(function(e){return{caption:e,value:e.replace(":","")+" ",meta:"emoji"}}))}},i={getCompletions:function(e,n,o,t,a){var i=e.getSession().getTokenAt(o.row,o.column.count).value.split(/\s+/),s=i[i.length-1];"@"==s[0]&&"["==s[1]&&(username=s.replace(/([\@\[/\]/])/g,""),U.ajax({url:r.data("search-users-url"),data:{username:username,csrfmiddlewaretoken:A("csrftoken")},success:function(e){if(200==e.status){for(var n=[],o=0;o<e.data.length;o++)n.push(e.data[o].username);a(null,n.map(function(e){return{caption:e,value:e,meta:"username"}}))}}}))}};"true"===o.mention?c.completers=[t,i]:c.completers=[t],r.attr({style:"display:none"}),U(n).find(".martor-toolbar").find(".markdown-selector").attr({"data-field-name":s}),U(n).find(".upload-progress").attr({"data-field-name":s}),U(n).find(".modal-help-guide").attr({"data-field-name":s}),U(n).find(".modal-emoji").attr({"data-field-name":s}),c.on("change",function(e){var n=c.getValue();r.val(n)}),U("#"+a).resizable({direction:"bottom",stop:function(){c.resize()}});var l=U(".tab.segment[data-tab=preview-tab-"+s+"]"),m=U(".item[data-tab=preview-tab-"+s+"]"),d=function(){var e=c.getValue(),n=new FormData;n.append("content",e),n.append("csrfmiddlewaretoken",A("csrftoken")),U.ajax({url:r.data("markdownfy-url"),type:"POST",data:n,processData:!1,contentType:!1,success:function(e){e?(l.html(e),U("pre").each(function(e,n){hljs.highlightBlock(n)})):l.html("<p>Nothing to preview</p>")},error:function(e){console.log("error",e)}})};"true"===o.living?c.on("change",d):m.click(function(){U(this).closest(".tab-martor-menu").find(".martor-toolbar").hide(),d()}),U(".item[data-tab=editor-tab-"+s+"]").click(function(){U(this).closest(".tab-martor-menu").find(".martor-toolbar").show()});var u=function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o," **** "),e.focus(),e.selection.moveTo(o.row,o.column+3)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"**"+a+"**"),n.end.column+=4,e.focus(),e.selection.setSelectionRange(n)}},f=function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o," __ "),e.focus(),e.selection.moveTo(o.row,o.column+2)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"_"+a+"_"),n.end.column+=2,e.focus(),e.selection.setSelectionRange(n)}},g=function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o,"\n\n----------\n\n"),e.focus(),e.selection.moveTo(o.row+4,o.column+10)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"\n\n----------\n\n"+a),e.focus(),e.selection.moveTo(n.end.row+4,n.end.column+10)}},v=function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o,"\n\n# "),e.focus(),e.selection.moveTo(o.row+2,o.column+2)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"\n\n# "+a+"\n"),e.focus(),e.selection.moveTo(n.end.row+2,n.end.column+2)}},p=function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o,"\n\n## "),e.focus(),e.selection.moveTo(o.row+2,o.column+3)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"\n\n## "+a+"\n"),e.focus(),e.selection.moveTo(n.end.row+2,n.end.column+3)}},w=function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o,"\n\n### "),e.focus(),e.selection.moveTo(o.row+2,o.column+4)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"\n\n### "+a+"\n"),e.focus(),e.selection.moveTo(n.end.row+2,n.end.column+4)}},k=function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o,"\n\n```\n\n```\n"),e.focus(),e.selection.moveTo(o.row+3,o.column)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"\n\n```\n"+a+"\n```\n"),e.focus(),e.selection.moveTo(n.end.row+3,n.end.column+3)}},C=function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o," `` "),e.focus(),e.selection.moveTo(o.row,o.column+2)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"`"+a+"`"),n.end.column+=2,e.focus(),e.selection.setSelectionRange(n)}},y=function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o,"\n\n> \n"),e.focus(),e.selection.moveTo(o.row+2,o.column+2)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"\n\n> "+a+"\n"),e.focus(),e.selection.moveTo(n.end.row+2,n.end.column+2)}},h=function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o,"\n\n* "),e.focus(),e.selection.moveTo(o.row+2,o.column+2)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"\n\n* "+a),e.focus(),e.selection.moveTo(n.end.row+2,n.end.column+2)}},T=function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o,"\n\n1. "),e.focus(),e.selection.moveTo(o.row+2,o.column+3)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"\n\n1. "+a),e.focus(),e.selection.moveTo(n.end.row+2,n.end.column+3)}},S=function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o," [](http://) "),e.focus(),e.selection.moveTo(o.row,o.column+2)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"["+a+"](http://) "),e.focus(),e.selection.moveTo(n.end.row,n.end.column+10)}},R=function(e,n){var o=e.getSelectionRange();if(void 0===n)if(e.selection.isEmpty()){var t=e.getCursorPosition();e.session.insert(t,"  "),e.focus(),e.selection.moveTo(t.row,t.column+3)}else{var a=e.getSelectionRange(),i=e.session.getTextRange(a);e.session.replace(a," "),e.focus(),e.selection.moveTo(o.end.row,o.end.column+11)}else{t=e.getCursorPosition();e.session.insert(t," "),e.focus(),e.selection.moveTo(t.row,t.column+n.name.length+2)}},b=function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o," @[]"),e.focus(),e.selection.moveTo(o.row,o.column+3)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"@["+a+"]"),e.focus(),e.selection.moveTo(n.end.row,n.end.column+3)}},x=function(n){var e=U("#"+a).closest("form").get(0),o=n.container.id.replace("martor-",""),t=new FormData(e);return t.append("csrfmiddlewaretoken",A("csrftoken")),U.ajax({url:r.data("upload-url"),type:"POST",data:t,async:!0,cache:!1,contentType:!1,enctype:"multipart/form-data",processData:!1,beforeSend:function(){console.log("Uploading..."),U(".upload-progress[data-field-name="+o+"]").show()},success:function(e){U(".upload-progress[data-field-name="+o+"]").hide(),200==e.status?(console.log(e),R(n=n,imageData={name:e.name,link:e.link})):403==e.status?alert(e.data.error):console.log(e)},error:function(e){console.log("error",e),U(".upload-progress[data-field-name="+o+"]").hide()}}),!1};c.commands.addCommand({name:"markdownToBold",bindKey:{win:"Ctrl-B",mac:"Command-B"},exec:function(e){u(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToItalic",bindKey:{win:"Ctrl-I",mac:"Command-I"},exec:function(e){f(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToUnderscores",bindKey:{win:"Ctrl-Shift-U",mac:"Command-Option-U"},exec:function(e){!function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o," ++++ "),e.focus(),e.selection.moveTo(o.row,o.column+3)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"++"+a+"++"),n.end.column+=4,e.focus(),e.selection.setSelectionRange(n)}}(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToStrikethrough",bindKey:{win:"Ctrl-Shift-S",mac:"Command-Option-S"},exec:function(e){!function(e){var n=e.getSelectionRange();if(e.selection.isEmpty()){var o=e.getCursorPosition();e.session.insert(o," ~~~~ "),e.focus(),e.selection.moveTo(o.row,o.column+3)}else{var t=e.getSelectionRange(),a=e.session.getTextRange(t);e.session.replace(t,"~~"+a+"~~"),n.end.column+=4,e.focus(),e.selection.setSelectionRange(n)}}(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToHorizontal",bindKey:{win:"Ctrl-H",mac:"Command-H"},exec:function(e){g(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToH1",bindKey:{win:"Ctrl-Alt-1",mac:"Command-Option-1"},exec:function(e){v(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToH2",bindKey:{win:"Ctrl-Alt-2",mac:"Command-Option-3"},exec:function(e){p(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToH3",bindKey:{win:"Ctrl-Alt-3",mac:"Command-Option-3"},exec:function(e){w(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToPre",bindKey:{win:"Ctrl-Alt-P",mac:"Command-Option-P"},exec:function(e){k(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToCode",bindKey:{win:"Ctrl-Alt-C",mac:"Command-Option-C"},exec:function(e){C(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToBlockQuote",bindKey:{win:"Ctrl-Q",mac:"Command-Q"},exec:function(e){y(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToUnorderedList",bindKey:{win:"Ctrl-U",mac:"Command-U"},exec:function(e){h(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToOrderedList",bindKey:{win:"Ctrl-Shift+O",mac:"Command-Option-O"},exec:function(e){T(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToLink",bindKey:{win:"Ctrl-L",mac:"Command-L"},exec:function(e){S(e)},readOnly:!0}),c.commands.addCommand({name:"markdownToImageLink",bindKey:{win:"Ctrl-Shift-I",mac:"Command-Option-I"},exec:function(e){R(e)},readOnly:!0}),"true"===o.mention&&c.commands.addCommand({name:"markdownToMention",bindKey:{win:"Ctrl-M",mac:"Command-M"},exec:function(e){b(e)},readOnly:!0}),U(".markdown-bold[data-field-name="+s+"]").click(function(){u(c)}),U(".markdown-italic[data-field-name="+s+"]").click(function(){f(c)}),U(".markdown-horizontal[data-field-name="+s+"]").click(function(){g(c)}),U(".markdown-h1[data-field-name="+s+"]").click(function(){v(c)}),U(".markdown-h2[data-field-name="+s+"]").click(function(){p(c)}),U(".markdown-h3[data-field-name="+s+"]").click(function(){w(c)}),U(".markdown-pre[data-field-name="+s+"]").click(function(){k(c)}),U(".markdown-code[data-field-name="+s+"]").click(function(){C(c)}),U(".markdown-blockquote[data-field-name="+s+"]").click(function(){y(c)}),U(".markdown-unordered-list[data-field-name="+s+"]").click(function(){h(c)}),U(".markdown-ordered-list[data-field-name="+s+"]").click(function(){T(c)}),U(".markdown-link[data-field-name="+s+"]").click(function(){S(c)}),U(".markdown-image-link[data-field-name="+s+"]").click(function(){R(c)});var O=U(".markdown-direct-mention[data-field-name="+s+"]"),P=U(".markdown-image-upload[data-field-name="+s+"]");"true"===o.mention&&"true"===o.imgur?(O.click(function(){b(c)}),P.on("change",function(e){e.preventDefault(),x(c)})):"true"===o.mention&&"false"===o.imgur?(O.click(function(){b(c)}),P.remove()):"false"===o.mention&&"true"===o.imgur?(O.remove(),P.on("change",function(e){e.preventDefault(),x(c)})):(O.remove(),P.remove(),U(".markdown-reference tbody tr")[1].remove()),U(".markdown-help[data-field-name="+s+"]").click(function(){U(".modal-help-guide[data-field-name="+s+"]").modal("show")});var j=U(n),E=U(".martor-field-"+s),K=U(".markdown-toggle-maximize[data-field-name="+s+"]"),z=function(){U(document.body).removeClass("overflow"),U(this).attr({title:"Full Screen"}),U(this).find(".minimize.icon").removeClass("minimize").addClass("maximize"),U(".main-martor-fullscreen").find(".martor-preview").removeAttr("style"),j.removeClass("main-martor-fullscreen"),E.removeAttr("style"),c.resize()};K.on("click",function(){!function(e){e.attr({title:"Minimize"}),e.find(".maximize.icon").removeClass("maximize").addClass("minimize"),j.addClass("main-martor-fullscreen");var n=document.body.clientHeight-90;E.attr({style:"height:"+n+"px"}),U(".main-martor-fullscreen").find(".martor-preview").attr({style:"overflow-y: auto;height:"+n+"px"}),c.resize(),e.one("click",z),U(document.body).addClass("overflow")}(U(this))}),U(document).keyup(function(e){27==e.keyCode&&j.hasClass("main-martor-fullscreen")&&U(".minimize.icon").trigger("click")}),U(".markdown-emoji[data-field-name="+s+"]").click(function(){var t=U(".modal-emoji[data-field-name="+s+"]"),o=emojis,a=t.find(".emoji-content-body"),i=t.find(".emoji-loader-init");a.html(""),i.show(),t.modal({onVisible:function(){for(var e=0;e<o.length;e++){var n=r.data("base-emoji-url")+o[e].replace(/:/g,"")+".png";a.append('<div class="four wide column"><p><a data-emoji-target="'+o[e]+'" class="insert-emoji"><img class="marked-emoji" src="'+n+'"> '+o[e]+"</a></p></div>"),U('a[data-emoji-target="'+o[e]+'"]').click(function(){var e,n,o;e=c,n=U(this).data("emoji-target"),o=e.getCursorPosition(),e.session.insert(o," "+n+" "),e.focus(),e.selection.moveTo(o.row,o.column+n.length+2),t.modal("hide",100)})}i.hide(),t.modal("refresh")}}).modal("show")}),""!=r.val()&&c.setValue(r.val())})},U(function(){U(".martor").martor()})}(jQuery);
- $( document ).ready(function(){
- $('.ui.martor-toolbar .ui.dropdown').dropdown();
- $('.ui.tab-martor-menu .item').tab();
- });
|