diff --git a/src/diagrams/flowchart/flowRenderer-v2.js b/src/diagrams/flowchart/flowRenderer-v2.js
index ffd8c48eb..332e9c484 100644
--- a/src/diagrams/flowchart/flowRenderer-v2.js
+++ b/src/diagrams/flowchart/flowRenderer-v2.js
@@ -268,8 +268,13 @@ export const getClasses = function(text) {
const parser = flow.parser;
parser.yy = flowDb;
- // Parse the graph definition
- parser.parse(text);
+ try {
+ // Parse the graph definition
+ parser.parse(text);
+ } catch (e) {
+ return;
+ }
+
return flowDb.getClasses();
};
@@ -278,6 +283,7 @@ export const getClasses = function(text) {
* @param text
* @param id
*/
+
export const draw = function(text, id) {
logger.info('Drawing flowchart');
flowDb.clear();
@@ -286,9 +292,9 @@ export const draw = function(text, id) {
// Parse the graph definition
// try {
- parser.parse(text);
+ parser.parse(text);
// } catch (err) {
- // logger.debug('Parsing failed');
+ // logger.debug('Parsing failed');
// }
// Fetch the default direction, use TD if none was found
diff --git a/src/diagrams/flowchart/flowRenderer.js b/src/diagrams/flowchart/flowRenderer.js
index c26588047..4c06aa345 100644
--- a/src/diagrams/flowchart/flowRenderer.js
+++ b/src/diagrams/flowchart/flowRenderer.js
@@ -272,9 +272,9 @@ export const draw = function(text, id) {
// Parse the graph definition
// try {
- parser.parse(text);
+ parser.parse(text);
// } catch (err) {
- // logger.debug('Parsing failed');
+ // logger.debug('Parsing failed');
// }
// Fetch the default direction, use TD if none was found
diff --git a/src/errorRenderer.js b/src/errorRenderer.js
index cf16bf2a9..2f5fcc3bb 100644
--- a/src/errorRenderer.js
+++ b/src/errorRenderer.js
@@ -18,7 +18,7 @@ export const setConf = function(cnf) {
* @param text
* @param id
*/
-export const draw = (id,ver) => {
+export const draw = (id, ver) => {
try {
logger.debug('Renering svg for syntax error\n');
@@ -26,53 +26,62 @@ export const draw = (id,ver) => {
const g = svg.append('g');
- g
- .append('path')
+ g.append('path')
.attr('class', 'error-icon')
- .attr('d', 'm411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z');
+ .attr(
+ 'd',
+ 'm411.313,123.313c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32-9.375,9.375-20.688-20.688c-12.484-12.5-32.766-12.5-45.25,0l-16,16c-1.261,1.261-2.304,2.648-3.31,4.051-21.739-8.561-45.324-13.426-70.065-13.426-105.867,0-192,86.133-192,192s86.133,192 192,192 192-86.133 192-192c0-24.741-4.864-48.327-13.426-70.065 1.402-1.007 2.79-2.049 4.051-3.31l16-16c12.5-12.492 12.5-32.758 0-45.25l-20.688-20.688 9.375-9.375 32.001-31.999zm-219.313,100.687c-52.938,0-96,43.063-96,96 0,8.836-7.164,16-16,16s-16-7.164-16-16c0-70.578 57.422-128 128-128 8.836,0 16,7.164 16,16s-7.164,16-16,16z'
+ );
- g
- .append('path')
+ g.append('path')
.attr('class', 'error-icon')
- .attr('d', 'm459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z');
+ .attr(
+ 'd',
+ 'm459.02,148.98c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l16,16c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16.001-16z'
+ );
- g
- .append('path')
+ g.append('path')
.attr('class', 'error-icon')
- .attr('d', 'm340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z');
+ .attr(
+ 'd',
+ 'm340.395,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688 6.25-6.25 6.25-16.375 0-22.625l-16-16c-6.25-6.25-16.375-6.25-22.625,0s-6.25,16.375 0,22.625l15.999,16z'
+ );
- g
- .append('path')
+ g.append('path')
.attr('class', 'error-icon')
- .attr('d', 'm400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z');
+ .attr(
+ 'd',
+ 'm400,64c8.844,0 16-7.164 16-16v-32c0-8.836-7.156-16-16-16-8.844,0-16,7.164-16,16v32c0,8.836 7.156,16 16,16z'
+ );
- g
- .append('path')
+ g.append('path')
.attr('class', 'error-icon')
- .attr('d', 'm496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z');
+ .attr(
+ 'd',
+ 'm496,96.586h-32c-8.844,0-16,7.164-16,16 0,8.836 7.156,16 16,16h32c8.844,0 16-7.164 16-16 0-8.836-7.156-16-16-16z'
+ );
- g
- .append('path')
+ g.append('path')
.attr('class', 'error-icon')
- .attr('d', 'm436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z')
- ;
+ .attr(
+ 'd',
+ 'm436.98,75.605c3.125,3.125 7.219,4.688 11.313,4.688 4.094,0 8.188-1.563 11.313-4.688l32-32c6.25-6.25 6.25-16.375 0-22.625s-16.375-6.25-22.625,0l-32,32c-6.251,6.25-6.251,16.375-0.001,22.625z'
+ );
- g
- .append('text') // text label for the x axis
+ g.append('text') // text label for the x axis
.attr('class', 'error-text')
.attr('x', 1240)
.attr('y', 250)
.attr('font-size', '150px')
.style('text-anchor', 'middle')
- .text('Syntax error in graph')
- g
- .append('text') // text label for the x axis
+ .text('Syntax error in graph');
+ g.append('text') // text label for the x axis
.attr('class', 'error-text')
.attr('x', 1050)
.attr('y', 400)
.attr('font-size', '100px')
.style('text-anchor', 'middle')
- .text('mermaid version '+ver);
+ .text('mermaid version ' + ver);
svg.attr('height', 100);
svg.attr('width', 400);
diff --git a/src/mermaid.js b/src/mermaid.js
index 079782ea1..616ff40e4 100644
--- a/src/mermaid.js
+++ b/src/mermaid.js
@@ -99,18 +99,18 @@ const init = function() {
.replace(/
/gi, '
');
try {
- mermaidAPI.render(
- id,
- txt,
- (svgCode, bindFunctions) => {
- element.innerHTML = svgCode;
- if (typeof callback !== 'undefined') {
- callback(id);
- }
- if (bindFunctions) bindFunctions(element);
- },
- element
- );
+ mermaidAPI.render(
+ id,
+ txt,
+ (svgCode, bindFunctions) => {
+ element.innerHTML = svgCode;
+ if (typeof callback !== 'undefined') {
+ callback(id);
+ }
+ if (bindFunctions) bindFunctions(element);
+ },
+ element
+ );
} catch (e) {
logger.warn('Syntax Error rendering');
logger.warn(e);
diff --git a/src/mermaidAPI.js b/src/mermaidAPI.js
index 6b6b93ed6..cfeea285c 100644
--- a/src/mermaidAPI.js
+++ b/src/mermaidAPI.js
@@ -668,7 +668,7 @@ export const decodeEntities = function(text) {
* provided a hidden div will be inserted in the body of the page instead. The element will be removed when rendering is
* completed.
*/
-const render = function (id, _txt, cb, container) {
+const render = function(id, _txt, cb, container) {
// Check the maximum allowed text size
let txt = _txt;
if (_txt.length > config.maxTextSize) {
@@ -835,7 +835,7 @@ const render = function (id, _txt, cb, container) {
} catch (e) {
errorRenderer.setConf(config.class);
errorRenderer.draw(id, pkg.version);
- throw (e)
+ throw e;
}
select(`[id="${id}"]`)