From f5f26f334f925afc4a2a4c7a634aff15696b6f94 Mon Sep 17 00:00:00 2001 From: chris moran Date: Mon, 20 Jul 2020 04:45:10 -0400 Subject: [PATCH] Move detectInit higher in the render function. This prevents getConfig from potentially being called with the config changes from previous diagrams on the same page (or context) This also allows mermaid the chance to reset the config to the siteConfig in between renderings --- src/mermaidAPI.js | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/mermaidAPI.js b/src/mermaidAPI.js index 7eb09667e..451ab739a 100644 --- a/src/mermaidAPI.js +++ b/src/mermaidAPI.js @@ -197,16 +197,20 @@ export const decodeEntities = function(text) { * completed. */ const render = function(id, _txt, cb, container) { - const cnf = getConfig(); - // Check the maximum allowed text size let txt = _txt; - if (_txt.length > cnf.maxTextSize) { - txt = 'graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa'; - } const graphInit = utils.detectInit(txt); if (graphInit) { reinitialize(graphInit); - assignWithDepth(cnf, getConfig()); + } else { + configApi.reset(); + const siteConfig = getSiteConfig(); + updateRendererConfigs(siteConfig); + } + + const cnf = getConfig(); + // Check the maximum allowed text size + if (_txt.length > cnf.maxTextSize) { + txt = 'graph TB;a[Maximum text size in diagram exceeded];style a fill:#faa'; } if (typeof container !== 'undefined') {