Use Ajax request for Markdown preview
This remove dependency on a Javascript library.
This commit is contained in:
committed by
GitHub
parent
6a0b6a8672
commit
0ede384cda
2
assets/js/app.min.js
vendored
2
assets/js/app.min.js
vendored
@@ -268,7 +268,7 @@ if(options.required){textareaElement.attr('required','required')}
|
||||
var textWrapper=KB.dom(containerElement).find('script');textareaElement.html(textWrapper.innerHTML);if(options.placeholder){textareaElement.attr('placeholder',options.placeholder)}
|
||||
textarea=textareaElement.build();if(options.suggestOptions){KB.getComponent('suggest-menu',textarea,options.suggestOptions).render()}
|
||||
return KB.dom('div').attr('class','text-editor-write-mode').add(toolbarElement).add(textarea).build()}
|
||||
function toggleViewMode(){var str=textarea.value;str=str.replace(/(?:\r\n|\r|\n)/g,'<br>\n');KB.dom(previewElement).html(marked(DOMPurify.sanitize(str)));KB.dom(viewModeElement).toggle();KB.dom(writeModeElement).toggle()}
|
||||
function toggleViewMode(){$.ajax({cache:!1,type:'POST',url:options.previewUrl,data:{'text':textarea.value},success:function(data){KB.dom(previewElement).html(data)}});KB.dom(viewModeElement).toggle();KB.dom(writeModeElement).toggle()}
|
||||
function getSelectedText(){return textarea.value.substring(textarea.selectionStart,textarea.selectionEnd)}
|
||||
function replaceTextRange(s,start,end,substitute){return s.substring(0,start)+substitute+s.substring(end)}
|
||||
function insertEnclosedTag(tag){var selectedText=getSelectedText();insertText(tag+selectedText+tag);setCursorBeforeClosingTag(tag)}
|
||||
|
||||
@@ -84,9 +84,16 @@ KB.component('text-editor', function (containerElement, options) {
|
||||
}
|
||||
|
||||
function toggleViewMode() {
|
||||
var str=textarea.value;
|
||||
str = str.replace(/(?:\r\n|\r|\n)/g, '<br>\n');
|
||||
KB.dom(previewElement).html(marked(DOMPurify.sanitize(str)));
|
||||
$.ajax({
|
||||
cache: false,
|
||||
type: 'POST',
|
||||
url: options.previewUrl,
|
||||
data: { 'text': textarea.value},
|
||||
success: function(data) {
|
||||
KB.dom(previewElement).html(data);
|
||||
}
|
||||
});
|
||||
|
||||
KB.dom(viewModeElement).toggle();
|
||||
KB.dom(writeModeElement).toggle();
|
||||
}
|
||||
|
||||
9
assets/js/vendor.min.js
vendored
9
assets/js/vendor.min.js
vendored
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user