mermaid
Version:
Markdownish syntax for generating flowcharts
17 lines • 1.53 kB
JSON
[
{
"tags": [],
"description": {
"full": "",
"summary": "",
"body": ""
},
"isPrivate": false,
"code": "function decodeHTMLEntities (str) {\n if(str && typeof str === 'string') {\n // strip script/html tags\n element = document.querySelector('.editor');\n \n str = str.replace(/<script[^>]*>([\\S\\s]*?)<\\/script>/gmi, '');\n str = str.replace(/<\\/?\\w(?:[^\"'>]|\"[^\"]*\"|'[^']*')*>/gmi, '');\n element.innerHTML = str;\n str = element.textContent;\n element.textContent = '';\n }\n\n return str;\n}\n\nvar mermaidEditor = {\n $ : document.querySelector,\n textField : '',\n submit : '',\n graph : '',\n\n init: function () {\n\n document.querySelector('.button').addEventListener('click', function () {\n mermaidEditor.update();\n }.bind(this));\n },\n \n update: function () {\n var txt = document.querySelector('.editor').value;\n txt = txt.replace(/>/g,'>');\n txt = txt.replace(/</g,'<');\n txt = decodeHTMLEntities(txt).trim();\n\n document.querySelector('.mermaid').innerHTML = txt;\n mermaid.init();\n document.querySelector('.editor').value = txt;\n }\n};\n\ndocument.addEventListener('DOMContentLoaded', function () {\n\n mermaidEditor.init();\n\n}, false);\n\nexports = mermaidEditor;",
"ctx": {
"type": "function",
"name": "decodeHTMLEntities",
"string": "decodeHTMLEntities()"
}
}
]