UNPKG

mermaid

Version:

Markdownish syntax for generating flowcharts

17 lines 1.53 kB
[ { "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,'&gt;');\n txt = txt.replace(/</g,'&lt;');\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()" } } ]