mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-11-03 20:34:20 +01:00 
			
		
		
		
	Merge branch 'develop' of github.com:mermaid-js/mermaid into develop
This commit is contained in:
		
							
								
								
									
										13
									
								
								cypress/integration/other/external-diagrams.spec.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								cypress/integration/other/external-diagrams.spec.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
describe('mermaid', () => {
 | 
			
		||||
  describe('registerDiagram', () => {
 | 
			
		||||
    it('should work on @mermaid-js/mermaid-mindmap and mermaid-example-diagram', () => {
 | 
			
		||||
      const url = 'http://localhost:9000/external-diagrams-mindmap.html';
 | 
			
		||||
      cy.visit(url);
 | 
			
		||||
 | 
			
		||||
      cy.get('svg', {
 | 
			
		||||
        // may be a bit slower than normal, since vite might need to re-compile mermaid/mermaid-mindmap/mermaid-example-diagram
 | 
			
		||||
        timeout: 10000,
 | 
			
		||||
      }).matchImageSnapshot();
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
@@ -496,4 +496,16 @@ describe('Class diagram V2', () => {
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('1433: should render a simple class with a title', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `---
 | 
			
		||||
title: simple class diagram
 | 
			
		||||
---
 | 
			
		||||
classDiagram-v2
 | 
			
		||||
class Class10
 | 
			
		||||
`,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
@@ -273,4 +273,17 @@ describe('Entity Relationship Diagram', () => {
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('1433: should render a simple ER diagram with a title', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `---
 | 
			
		||||
title: simple ER diagram
 | 
			
		||||
---
 | 
			
		||||
erDiagram
 | 
			
		||||
CUSTOMER ||--o{ ORDER : places
 | 
			
		||||
ORDER ||--|{ LINE-ITEM : contains
 | 
			
		||||
`,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
@@ -663,4 +663,15 @@ flowchart RL
 | 
			
		||||
      { htmlLabels: true, flowchart: { htmlLabels: true }, securityLevel: 'loose' }
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
  it('1433: should render a titled flowchart with titleTopMargin set to 0', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `---
 | 
			
		||||
title: Simple flowchart
 | 
			
		||||
---
 | 
			
		||||
flowchart TD
 | 
			
		||||
A --> B
 | 
			
		||||
`,
 | 
			
		||||
      { titleTopMargin: 0 }
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
@@ -322,4 +322,15 @@ describe('Git Graph diagram', () => {
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
  it('1433: should render a simple gitgraph with a title', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `---
 | 
			
		||||
title: simple gitGraph
 | 
			
		||||
---
 | 
			
		||||
gitGraph
 | 
			
		||||
  commit
 | 
			
		||||
`,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
@@ -1,75 +0,0 @@
 | 
			
		||||
import { imgSnapshotTest, renderGraph } from '../../helpers/util.js';
 | 
			
		||||
 | 
			
		||||
describe('Mindmap', () => {
 | 
			
		||||
  it('square shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `
 | 
			
		||||
mindmap
 | 
			
		||||
    root[
 | 
			
		||||
      The root
 | 
			
		||||
    ]
 | 
			
		||||
      `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
  it('rounded rect shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `
 | 
			
		||||
mindmap
 | 
			
		||||
    root((
 | 
			
		||||
      The root
 | 
			
		||||
    ))
 | 
			
		||||
      `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
  it('circle shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `
 | 
			
		||||
mindmap
 | 
			
		||||
    root(
 | 
			
		||||
      The root
 | 
			
		||||
    )
 | 
			
		||||
      `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
  it('default shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `
 | 
			
		||||
mindmap
 | 
			
		||||
  The root
 | 
			
		||||
      `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
  it('adding children', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `
 | 
			
		||||
mindmap
 | 
			
		||||
  The root
 | 
			
		||||
    child1
 | 
			
		||||
    child2
 | 
			
		||||
      `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
  it('adding grand children', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `
 | 
			
		||||
mindmap
 | 
			
		||||
  The root
 | 
			
		||||
    child1
 | 
			
		||||
      child2
 | 
			
		||||
      child3
 | 
			
		||||
      `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
@@ -1,115 +0,0 @@
 | 
			
		||||
import { imgSnapshotTest, renderGraph } from '../../helpers/util.js';
 | 
			
		||||
 | 
			
		||||
describe('Mindmaps', () => {
 | 
			
		||||
  it('Only a root', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root
 | 
			
		||||
    `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('a root with a shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root[root]
 | 
			
		||||
    `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('a root with wrapping text and a shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root[A root with a long text that wraps to keep the node size in check]
 | 
			
		||||
    `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('a root with an icon', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root[root]
 | 
			
		||||
::icon(mdi mdi-fire)
 | 
			
		||||
    `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Blang and cloud shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root))bang((
 | 
			
		||||
  ::icon(mdi mdi-fire)
 | 
			
		||||
  a))Another bang((
 | 
			
		||||
  ::icon(mdi mdi-fire)
 | 
			
		||||
  a)A cloud(
 | 
			
		||||
  ::icon(mdi mdi-fire)
 | 
			
		||||
    `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Blang and cloud shape with icons', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root))bang((
 | 
			
		||||
 | 
			
		||||
  a))Another bang((
 | 
			
		||||
  a)A cloud(
 | 
			
		||||
    `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('braches', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root
 | 
			
		||||
  child1
 | 
			
		||||
      grandchild 1
 | 
			
		||||
      grandchild 2
 | 
			
		||||
  child2
 | 
			
		||||
      grandchild 3
 | 
			
		||||
      grandchild 4
 | 
			
		||||
  child3
 | 
			
		||||
      grandchild 5
 | 
			
		||||
      grandchild 6
 | 
			
		||||
    `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('braches with shapes and labels', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root
 | 
			
		||||
  child1((Circle))
 | 
			
		||||
      grandchild 1
 | 
			
		||||
      grandchild 2
 | 
			
		||||
  child2(Round rectangle)
 | 
			
		||||
      grandchild 3
 | 
			
		||||
      grandchild 4
 | 
			
		||||
  child3[Square]
 | 
			
		||||
      grandchild 5
 | 
			
		||||
      ::icon(mdi mdi-fire)
 | 
			
		||||
      gc6((grand<br/>child 6))
 | 
			
		||||
      ::icon(mdi mdi-fire)
 | 
			
		||||
    `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
  it('text shouhld wrap with icon', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root
 | 
			
		||||
  Child3(A node with an icon and with a long text that wraps to keep the node size in check)
 | 
			
		||||
    `,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  /* The end */
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										233
									
								
								cypress/integration/rendering/mindmap.spec.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										233
									
								
								cypress/integration/rendering/mindmap.spec.ts
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,233 @@
 | 
			
		||||
import { imgSnapshotTest, renderGraph } from '../../helpers/util.js';
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Check whether the SVG Element has a Mindmap root
 | 
			
		||||
 *
 | 
			
		||||
 * Sometimes, Cypress takes a snapshot before the mermaid mindmap has finished
 | 
			
		||||
 * generating the SVG.
 | 
			
		||||
 *
 | 
			
		||||
 * @param $p - The element to check.
 | 
			
		||||
 */
 | 
			
		||||
function shouldHaveRoot($p: JQuery<SVGSVGElement>) {
 | 
			
		||||
  // get HTML Element from jquery element
 | 
			
		||||
  const svgElement = $p[0];
 | 
			
		||||
  expect(svgElement.nodeName).equal('svg');
 | 
			
		||||
 | 
			
		||||
  const sectionRoots = svgElement.getElementsByClassName('mindmap-node section-root');
 | 
			
		||||
  // mindmap should have at least one root section
 | 
			
		||||
  expect(sectionRoots).to.have.lengthOf.at.least(1);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
describe('Mindmaps', () => {
 | 
			
		||||
  it('Only a root', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root
 | 
			
		||||
    `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('a root with a shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root[root]
 | 
			
		||||
    `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('a root with wrapping text and a shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root[A root with a long text that wraps to keep the node size in check]
 | 
			
		||||
    `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('a root with an icon', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root[root]
 | 
			
		||||
::icon(mdi mdi-fire)
 | 
			
		||||
    `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Blang and cloud shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root))bang((
 | 
			
		||||
  ::icon(mdi mdi-fire)
 | 
			
		||||
  a))Another bang((
 | 
			
		||||
  ::icon(mdi mdi-fire)
 | 
			
		||||
  a)A cloud(
 | 
			
		||||
  ::icon(mdi mdi-fire)
 | 
			
		||||
    `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('Blang and cloud shape with icons', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root))bang((
 | 
			
		||||
 | 
			
		||||
  a))Another bang((
 | 
			
		||||
  a)A cloud(
 | 
			
		||||
    `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('braches', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root
 | 
			
		||||
  child1
 | 
			
		||||
      grandchild 1
 | 
			
		||||
      grandchild 2
 | 
			
		||||
  child2
 | 
			
		||||
      grandchild 3
 | 
			
		||||
      grandchild 4
 | 
			
		||||
  child3
 | 
			
		||||
      grandchild 5
 | 
			
		||||
      grandchild 6
 | 
			
		||||
    `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('braches with shapes and labels', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root
 | 
			
		||||
  child1((Circle))
 | 
			
		||||
      grandchild 1
 | 
			
		||||
      grandchild 2
 | 
			
		||||
  child2(Round rectangle)
 | 
			
		||||
      grandchild 3
 | 
			
		||||
      grandchild 4
 | 
			
		||||
  child3[Square]
 | 
			
		||||
      grandchild 5
 | 
			
		||||
      ::icon(mdi mdi-fire)
 | 
			
		||||
      gc6((grand<br/>child 6))
 | 
			
		||||
      ::icon(mdi mdi-fire)
 | 
			
		||||
    `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
  it('text shouhld wrap with icon', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `mindmap
 | 
			
		||||
root
 | 
			
		||||
  Child3(A node with an icon and with a long text that wraps to keep the node size in check)
 | 
			
		||||
    `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
  it('square shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `
 | 
			
		||||
mindmap
 | 
			
		||||
    root[
 | 
			
		||||
      The root
 | 
			
		||||
    ]
 | 
			
		||||
      `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
  it('rounded rect shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `
 | 
			
		||||
mindmap
 | 
			
		||||
    root((
 | 
			
		||||
      The root
 | 
			
		||||
    ))
 | 
			
		||||
      `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
  it('circle shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `
 | 
			
		||||
mindmap
 | 
			
		||||
    root(
 | 
			
		||||
      The root
 | 
			
		||||
    )
 | 
			
		||||
      `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
  it('default shape', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `
 | 
			
		||||
mindmap
 | 
			
		||||
  The root
 | 
			
		||||
      `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
  it('adding children', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `
 | 
			
		||||
mindmap
 | 
			
		||||
  The root
 | 
			
		||||
    child1
 | 
			
		||||
    child2
 | 
			
		||||
      `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
  it('adding grand children', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `
 | 
			
		||||
mindmap
 | 
			
		||||
  The root
 | 
			
		||||
    child1
 | 
			
		||||
      child2
 | 
			
		||||
      child3
 | 
			
		||||
      `,
 | 
			
		||||
      {},
 | 
			
		||||
      undefined,
 | 
			
		||||
      shouldHaveRoot
 | 
			
		||||
    );
 | 
			
		||||
    cy.get('svg');
 | 
			
		||||
  });
 | 
			
		||||
  /* The end */
 | 
			
		||||
});
 | 
			
		||||
@@ -559,4 +559,16 @@ stateDiagram-v2
 | 
			
		||||
      );
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
  it('1433: should render a simple state diagram with a title', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `---
 | 
			
		||||
title: simple state diagram
 | 
			
		||||
---
 | 
			
		||||
stateDiagram-v2
 | 
			
		||||
[*] --> State1
 | 
			
		||||
State1 --> [*]
 | 
			
		||||
`,
 | 
			
		||||
      {}
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										49
									
								
								cypress/platform/external-diagrams-mindmap.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										49
									
								
								cypress/platform/external-diagrams-mindmap.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,49 @@
 | 
			
		||||
<html>
 | 
			
		||||
  <body>
 | 
			
		||||
    <h1>Should correctly load a third-party diagram using registerDiagram</h1>
 | 
			
		||||
    <pre id="diagram" class="mermaid">
 | 
			
		||||
mindmap
 | 
			
		||||
  root
 | 
			
		||||
    A
 | 
			
		||||
    B
 | 
			
		||||
    C
 | 
			
		||||
    D
 | 
			
		||||
    E
 | 
			
		||||
    A2
 | 
			
		||||
    B2
 | 
			
		||||
    C2
 | 
			
		||||
    D2
 | 
			
		||||
    E2
 | 
			
		||||
    child1((Circle))
 | 
			
		||||
        grandchild 1
 | 
			
		||||
        grandchild 2
 | 
			
		||||
    child2(Round rectangle)
 | 
			
		||||
        grandchild 3
 | 
			
		||||
        grandchild 4
 | 
			
		||||
    child3[Square]
 | 
			
		||||
        grandchild 5
 | 
			
		||||
        ::icon(mdi mdi-fire)
 | 
			
		||||
        gc6((grand<br/>child 6))
 | 
			
		||||
        ::icon(mdi mdi-fire)
 | 
			
		||||
          gc7((grand<br/>grand<br/>child 8))
 | 
			
		||||
    </pre>
 | 
			
		||||
    <!-- <pre id="diagram" class="mermaid2">
 | 
			
		||||
      example-diagram
 | 
			
		||||
    </pre> -->
 | 
			
		||||
 | 
			
		||||
    <!-- <div id="cy"></div> -->
 | 
			
		||||
    <!-- <script src="http://localhost:9000/packages/mermaid-mindmap/dist/mermaid-mindmap-detector.js"></script> -->
 | 
			
		||||
    <!-- <script src="./mermaid-example-diagram-detector.js"></script>    -->
 | 
			
		||||
    <!-- <script src="//cdn.jsdelivr.net/npm/mermaid@9.1.7/dist/mermaid.min.js"></script> -->
 | 
			
		||||
    <!-- <script type="module" src="./external-diagrams-mindmap.mjs" /> -->
 | 
			
		||||
    <script type="module">
 | 
			
		||||
      import mindmap from '../../packages/mermaid-mindmap/src/detector';
 | 
			
		||||
      // import example from '../../packages/mermaid-example-diagram/src/detector';
 | 
			
		||||
      import mermaid from '../../packages/mermaid/src/mermaid';
 | 
			
		||||
 | 
			
		||||
      await mermaid.registerExternalDiagrams([mindmap]);
 | 
			
		||||
      await mermaid.initialize({ logLevel: 0 });
 | 
			
		||||
      await mermaid.initThrowsErrorsAsync();
 | 
			
		||||
    </script>
 | 
			
		||||
  </body>
 | 
			
		||||
</html>
 | 
			
		||||
@@ -63,24 +63,19 @@ flowchart TD
 | 
			
		||||
    </pre>
 | 
			
		||||
    <pre id="diagram" class="mermaid">
 | 
			
		||||
mindmap
 | 
			
		||||
  root((mindmap))
 | 
			
		||||
    Origins
 | 
			
		||||
      Long history
 | 
			
		||||
      ::icon(fa fa-book)
 | 
			
		||||
      Popularisation
 | 
			
		||||
      ::icon(fa fa-book)
 | 
			
		||||
        British popular psychology author Tony Buzan
 | 
			
		||||
    Research
 | 
			
		||||
      ::icon(fa fa-book)
 | 
			
		||||
      On effectivness<br/>and features
 | 
			
		||||
      On Automatic creation
 | 
			
		||||
        Uses
 | 
			
		||||
            Creative techniques
 | 
			
		||||
            Strategic planning
 | 
			
		||||
            Argument mapping
 | 
			
		||||
    Tools
 | 
			
		||||
      Pen and paper
 | 
			
		||||
      Mermaid
 | 
			
		||||
  root
 | 
			
		||||
    child1((Circle))
 | 
			
		||||
        grandchild 1
 | 
			
		||||
        grandchild 2
 | 
			
		||||
    child2(Round rectangle)
 | 
			
		||||
        grandchild 3
 | 
			
		||||
        grandchild 4
 | 
			
		||||
    child3[Square]
 | 
			
		||||
        grandchild 5
 | 
			
		||||
        ::icon(mdi mdi-fire)
 | 
			
		||||
        gc6((grand<br/>child 6))
 | 
			
		||||
        ::icon(mdi mdi-fire)
 | 
			
		||||
          gc7((grand<br/>grand<br/>child 8))
 | 
			
		||||
        </pre>
 | 
			
		||||
    <pre id="diagram" class="mermaid">
 | 
			
		||||
      gantt
 | 
			
		||||
 
 | 
			
		||||
@@ -14,16 +14,14 @@
 | 
			
		||||
      mermaid.init({ startOnLoad: false });
 | 
			
		||||
 | 
			
		||||
      mermaid.mermaidAPI.initialize({ securityLevel: 'strict' });
 | 
			
		||||
      (async () => {
 | 
			
		||||
        try {
 | 
			
		||||
          console.log('rendering');
 | 
			
		||||
          await mermaid.mermaidAPI.render('graphDiv', `>`);
 | 
			
		||||
        } catch (e) {}
 | 
			
		||||
      try {
 | 
			
		||||
        console.log('rendering');
 | 
			
		||||
        mermaid.mermaidAPI.render('graphDiv', `>`);
 | 
			
		||||
      } catch (e) {}
 | 
			
		||||
 | 
			
		||||
        await mermaid.mermaidAPI.render('graphDiv', `graph LR\n a --> b`, (html) => {
 | 
			
		||||
          document.getElementById('graph').innerHTML = html;
 | 
			
		||||
        });
 | 
			
		||||
      })();
 | 
			
		||||
      mermaid.mermaidAPI.render('graphDiv', `graph LR\n a --> b`, (html) => {
 | 
			
		||||
        document.getElementById('graph').innerHTML = html;
 | 
			
		||||
      });
 | 
			
		||||
    </script>
 | 
			
		||||
  </body>
 | 
			
		||||
</html>
 | 
			
		||||
 
 | 
			
		||||
@@ -19,10 +19,9 @@
 | 
			
		||||
      function rerender(text) {
 | 
			
		||||
        const graphText = `graph TD
 | 
			
		||||
        A[${text}] -->|Get money| B(Go shopping)`;
 | 
			
		||||
        mermaid.mermaidAPI.render('id', graphText).then((svg) => {
 | 
			
		||||
          console.log('\x1b[35m%s\x1b[0m', '>> graph', svg);
 | 
			
		||||
          document.getElementById('graph').innerHTML = svg;
 | 
			
		||||
        });
 | 
			
		||||
        const graph = mermaid.mermaidAPI.render('id', graphText);
 | 
			
		||||
        console.log('\x1b[35m%s\x1b[0m', '>> graph', graph);
 | 
			
		||||
        document.getElementById('graph').innerHTML = graph;
 | 
			
		||||
      }
 | 
			
		||||
    </script>
 | 
			
		||||
    <button id="rerender" onclick="rerender('Saturday')">Rerender</button>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,5 @@
 | 
			
		||||
import mermaid2 from '../../packages/mermaid/src/mermaid';
 | 
			
		||||
import mindmap from '../../packages/mermaid-mindmap/src/detector';
 | 
			
		||||
 | 
			
		||||
function b64ToUtf8(str) {
 | 
			
		||||
  return decodeURIComponent(escape(window.atob(str)));
 | 
			
		||||
@@ -9,7 +10,7 @@ function b64ToUtf8(str) {
 | 
			
		||||
 * configuration for mermaid rendering and calls init for rendering the mermaid diagrams on the
 | 
			
		||||
 * page.
 | 
			
		||||
 */
 | 
			
		||||
const contentLoaded = function () {
 | 
			
		||||
const contentLoaded = async function () {
 | 
			
		||||
  let pos = document.location.href.indexOf('?graph=');
 | 
			
		||||
  if (pos > 0) {
 | 
			
		||||
    pos = pos + 7;
 | 
			
		||||
@@ -36,8 +37,7 @@ const contentLoaded = function () {
 | 
			
		||||
      document.getElementsByTagName('body')[0].appendChild(div);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    graphObj.mermaid.lazyLoadedDiagrams = ['/mermaid-mindmap-detector.esm.mjs'];
 | 
			
		||||
 | 
			
		||||
    await mermaid2.registerExternalDiagrams([mindmap]);
 | 
			
		||||
    mermaid2.initialize(graphObj.mermaid);
 | 
			
		||||
    mermaid2.init();
 | 
			
		||||
  }
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										8
									
								
								cypress/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								cypress/tsconfig.json
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,8 @@
 | 
			
		||||
{
 | 
			
		||||
  "compilerOptions": {
 | 
			
		||||
    "target": "es2020",
 | 
			
		||||
    "lib": ["es2020", "dom"],
 | 
			
		||||
    "types": ["cypress", "node"]
 | 
			
		||||
  },
 | 
			
		||||
  "include": ["**/*.ts"]
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user