diff --git a/cypress/integration/other/configuration.spec.js b/cypress/integration/other/configuration.spec.js index c2f1533b2..17b3442df 100644 --- a/cypress/integration/other/configuration.spec.js +++ b/cypress/integration/other/configuration.spec.js @@ -88,7 +88,7 @@ describe('Configuration', () => { C -->|Three| F[fa:fa-car Car] `, { - arrowMarkerAbsolute: true + logLevel:0, arrowMarkerAbsolute: true } ); diff --git a/src/config.js b/src/config.js index 3318892af..1dd47abb3 100644 --- a/src/config.js +++ b/src/config.js @@ -1,3 +1,4 @@ +// import { logger } from './logger'; let config = {}; const setConf = function(cnf) { @@ -9,7 +10,7 @@ const setConf = function(cnf) { const lvl2Keys = Object.keys(cnf[lvl1Keys[i]]); for (let j = 0; j < lvl2Keys.length; j++) { - // logger.debug('Setting conf ', lvl1Keys[i], '-', lvl2Keys[j]) + // logger.debug('Setting conf ', lvl1Keys[i], '-', lvl2Keys[j]); if (typeof config[lvl1Keys[i]] === 'undefined') { config[lvl1Keys[i]] = {}; } diff --git a/src/mermaid.js b/src/mermaid.js index 97f412222..14d928a07 100644 --- a/src/mermaid.js +++ b/src/mermaid.js @@ -29,7 +29,7 @@ import { logger } from './logger'; */ const init = function() { const conf = mermaidAPI.getConfig(); - logger.debug('Starting rendering diagrams'); + // console.log('Starting rendering diagrams (init) - mermaid.init'); let nodes; if (arguments.length >= 2) { /*! sequence config was passed as #1 */ @@ -69,11 +69,11 @@ const init = function() { logger.debug('Start On Load before: ' + mermaid.startOnLoad); if (typeof mermaid.startOnLoad !== 'undefined') { logger.debug('Start On Load inner: ' + mermaid.startOnLoad); - mermaidAPI.initialize({ startOnLoad: mermaid.startOnLoad }); + mermaidAPI.setConfig({ startOnLoad: mermaid.startOnLoad }); } if (typeof mermaid.ganttConfig !== 'undefined') { - mermaidAPI.initialize({ gantt: mermaid.ganttConfig }); + mermaidAPI.setConfig({ gantt: mermaid.ganttConfig }); } let txt; @@ -124,7 +124,7 @@ const init = function() { const initialize = function(config) { mermaidAPI.reset(); - // logger.debug('Initializing mermaid 1', config); + // console.log('Initializing mermaid 1', config); if (typeof config.mermaid !== 'undefined') { if (typeof config.mermaid.startOnLoad !== 'undefined') { mermaid.startOnLoad = config.mermaid.startOnLoad; @@ -133,8 +133,9 @@ const initialize = function(config) { mermaid.htmlLabels = config.mermaid.htmlLabels; } } + // console.log('Initializing mermaid 2', config); mermaidAPI.initialize(config); - logger.debug('Initializing mermaid ', config); + // logger.debug('Initializing mermaid 3', config); }; /** diff --git a/src/mermaidAPI.js b/src/mermaidAPI.js index 4d15e028b..b5e1b9bbb 100644 --- a/src/mermaidAPI.js +++ b/src/mermaidAPI.js @@ -803,75 +803,74 @@ const render = function(id, _txt, cb, container) { try { switch (graphType) { case 'git': - cnf.flowchart.arrowMarkerAbsolute = config.arrowMarkerAbsolute; - gitGraphRenderer.setConf(config.git); + cnf.flowchart.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; + gitGraphRenderer.setConf(cnf.git); gitGraphRenderer.draw(txt, id, false); break; case 'flowchart': - config.flowchart.arrowMarkerAbsolute = config.arrowMarkerAbsolute; - flowRenderer.setConf(config.flowchart); + cnf.flowchart.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; + flowRenderer.setConf(cnf.flowchart); flowRenderer.draw(txt, id, false); break; case 'flowchart-v2': - config.flowchart.arrowMarkerAbsolute = config.arrowMarkerAbsolute; - flowRendererV2.setConf(config.flowchart); + cnf.flowchart.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; + flowRendererV2.setConf(cnf.flowchart); flowRendererV2.draw(txt, id, false); break; case 'sequence': - config.sequence.arrowMarkerAbsolute = config.arrowMarkerAbsolute; - if (config.sequenceDiagram) { + cnf.sequence.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; + if (cnf.sequenceDiagram) { // backwards compatibility - sequenceRenderer.setConf(Object.assign(config.sequence, config.sequenceDiagram)); + sequenceRenderer.setConf(Object.assign(cnf.sequence, cnf.sequenceDiagram)); console.error( '`mermaid config.sequenceDiagram` has been renamed to `config.sequence`. Please update your mermaid config.' ); } else { - sequenceRenderer.setConf(config.sequence); + sequenceRenderer.setConf(cnf.sequence); } sequenceRenderer.draw(txt, id); break; case 'gantt': - config.gantt.arrowMarkerAbsolute = config.arrowMarkerAbsolute; - ganttRenderer.setConf(config.gantt); + cnf.gantt.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; + ganttRenderer.setConf(cnf.gantt); ganttRenderer.draw(txt, id); break; case 'class': - console.log(cnf, config); - cnf.class.arrowMarkerAbsolute = config.arrowMarkerAbsolute; + cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; classRenderer.setConf(cnf.class); classRenderer.draw(txt, id); break; case 'state': - // config.class.arrowMarkerAbsolute = config.arrowMarkerAbsolute; - stateRenderer.setConf(config.state); + cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; + stateRenderer.setConf(cnf.state); stateRenderer.draw(txt, id); break; case 'stateDiagram': - // config.class.arrowMarkerAbsolute = config.arrowMarkerAbsolute; - stateRendererV2.setConf(config.state); + cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; + stateRendererV2.setConf(cnf.state); stateRendererV2.draw(txt, id); break; case 'info': - config.class.arrowMarkerAbsolute = config.arrowMarkerAbsolute; - infoRenderer.setConf(config.class); + cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; + infoRenderer.setConf(cnf.class); infoRenderer.draw(txt, id, pkg.version); break; case 'pie': - config.class.arrowMarkerAbsolute = config.arrowMarkerAbsolute; - pieRenderer.setConf(config.class); + cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute; + pieRenderer.setConf(cnf.class); pieRenderer.draw(txt, id, pkg.version); break; case 'er': - erRenderer.setConf(config.er); + erRenderer.setConf(cnf.er); erRenderer.draw(txt, id, pkg.version); break; case 'journey': - journeyRenderer.setConf(config.journey); + journeyRenderer.setConf(cnf.journey); journeyRenderer.draw(txt, id, pkg.version); break; } } catch (e) { - // errorRenderer.setConf(config.class); + // errorRenderer.setConf(cnf.class); errorRenderer.draw(id, pkg.version); throw e; } @@ -880,7 +879,7 @@ const render = function(id, _txt, cb, container) { .selectAll('foreignobject > *') .attr('xmlns', 'http://www.w3.org/1999/xhtml'); - // if (config.arrowMarkerAbsolute) { + // if (cnf.arrowMarkerAbsolute) { // url = // window.location.protocol + // '//' + @@ -893,8 +892,8 @@ const render = function(id, _txt, cb, container) { // Fix for when the base tag is used let svgCode = select('#d' + id).node().innerHTML; - - if (!config.arrowMarkerAbsolute || config.arrowMarkerAbsolute === 'false') { + logger.debug('cnf.arrowMarkerAbsolute', cnf.arrowMarkerAbsolute); + if (!cnf.arrowMarkerAbsolute || cnf.arrowMarkerAbsolute === 'false') { svgCode = svgCode.replace(/marker-end="url\(.*?#/g, 'marker-end="url(#', 'g'); } @@ -930,7 +929,7 @@ const render = function(id, _txt, cb, container) { }; function reinitialize(options) { - // console.log('re-initialize ', options.logLevel, config.logLevel, getConfig().logLevel); + // console.log('re-initialize ', options.logLevel, cnf.logLevel, getConfig().logLevel); if (typeof options === 'object') { // setConf(options); setConfig(options); @@ -942,6 +941,7 @@ function reinitialize(options) { let firstInit = true; function initialize(options) { + // console.log('mermaidAPI.initialize'); // Set default options if (typeof options === 'object') { if (firstInit) { @@ -971,7 +971,9 @@ const mermaidAPI = { initialize, reinitialize, getConfig, + setConfig, reset: () => { + // console.warn('reset'); firstInit = true; } };