initial setup for editor page to generate graph through textarea input

This commit is contained in:
IamanimalXI
2014-12-01 20:50:58 +01:00
parent 8261429afb
commit 225560dcdf
10 changed files with 3886 additions and 2 deletions

47
src/editor.js Normal file
View File

@@ -0,0 +1,47 @@
function decodeHTMLEntities (str) {
if(str && typeof str === 'string') {
// strip script/html tags
element = document.querySelector('.editor');
str = str.replace(/<script[^>]*>([\S\s]*?)<\/script>/gmi, '');
str = str.replace(/<\/?\w(?:[^"'>]|"[^"]*"|'[^']*')*>/gmi, '');
element.innerHTML = str;
str = element.textContent;
element.textContent = '';
}
return str;
}
var mermaidEditor = {
$ : document.querySelector,
textField : '',
submit : '',
graph : '',
init: function () {
document.querySelector('.button').addEventListener('click', function () {
mermaidEditor.update();
}.bind(this));
},
update: function () {
var txt = document.querySelector('.editor').value;
txt = txt.replace(/>/g,'&gt;');
txt = txt.replace(/</g,'&lt;');
txt = decodeHTMLEntities(txt).trim();
document.querySelector('.mermaid').innerHTML = txt;
mermaid.init();
document.querySelector('.editor').value = txt;
}
};
document.addEventListener('DOMContentLoaded', function () {
mermaidEditor.init();
}, false);
exports = mermaidEditor;