mirror of https://github.com/node-red/node-red.git
47 lines
1.4 KiB
JavaScript
47 lines
1.4 KiB
JavaScript
|
// Mermaid diagram stub library for on-demand dynamic loading
|
||
|
// Will be overwritten after script loading by $.getScript
|
||
|
var mermaid = (function () {
|
||
|
var enabled /* = undefined */;
|
||
|
|
||
|
var initializing = false;
|
||
|
var initCalled = false;
|
||
|
|
||
|
function initialize(opt) {
|
||
|
if (enabled === undefined) {
|
||
|
if (RED.settings.markdownEditor &&
|
||
|
RED.settings.markdownEditor.mermaid) {
|
||
|
enabled = RED.settings.markdownEditor.mermaid.enabled;
|
||
|
}
|
||
|
else {
|
||
|
enabled = true;
|
||
|
}
|
||
|
}
|
||
|
if (enabled) {
|
||
|
initializing = true;
|
||
|
$.getScript("/editor-libs/mermaid",
|
||
|
function (data, stat, jqxhr) {
|
||
|
$(".mermaid").show();
|
||
|
// invoke loaded mermaid API
|
||
|
initializing = false;
|
||
|
mermaid.initialize(opt);
|
||
|
if (initCalled) {
|
||
|
mermaid.init();
|
||
|
initCalled = false;
|
||
|
}
|
||
|
});
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function init() {
|
||
|
if (initializing) {
|
||
|
$(".mermaid").hide();
|
||
|
initCalled = true;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return {
|
||
|
initialize: initialize,
|
||
|
init: init,
|
||
|
};
|
||
|
})();
|