From e2e51010058c0bfc3adf0a5218f4ac8af81a004c Mon Sep 17 00:00:00 2001 From: Ashish Jain Date: Wed, 22 Jan 2025 10:57:57 +0100 Subject: [PATCH] Handle more override edge animate --- .../mermaid/src/diagrams/flowchart/flowDb.ts | 4 ++-- .../flowchart/parser/flow-node-data.spec.js | 22 +++++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/packages/mermaid/src/diagrams/flowchart/flowDb.ts b/packages/mermaid/src/diagrams/flowchart/flowDb.ts index 053e6f73c..8c097d9fa 100644 --- a/packages/mermaid/src/diagrams/flowchart/flowDb.ts +++ b/packages/mermaid/src/diagrams/flowchart/flowDb.ts @@ -94,10 +94,10 @@ export const addVertex = function ( const edge = edges.find((e) => e.id === id); if (edge) { const edgeDoc = doc as EdgeMetaData; - if (edgeDoc?.animate) { + if (edgeDoc?.animate !== undefined) { edge.animate = edgeDoc.animate; } - if (edgeDoc?.animation) { + if (edgeDoc?.animation !== undefined) { edge.animation = edgeDoc.animation; } return; diff --git a/packages/mermaid/src/diagrams/flowchart/parser/flow-node-data.spec.js b/packages/mermaid/src/diagrams/flowchart/parser/flow-node-data.spec.js index 2a987753c..9f221f82f 100644 --- a/packages/mermaid/src/diagrams/flowchart/parser/flow-node-data.spec.js +++ b/packages/mermaid/src/diagrams/flowchart/parser/flow-node-data.spec.js @@ -378,6 +378,28 @@ describe('when parsing directions', function () { expect(data4Layout.edges[5].id).toEqual('L_A1_D1_0'); }); + it('should handle overriding edge animate again', function () { + const res = flow.parser.parse(`flowchart TD + A e1@--> B + C e2@--> D + E e3@--> F + e1@{ animate: true } + e2@{ animate: false } + e3@{ animate: true } + e3@{ animate: false } + `); + + const data4Layout = flow.parser.yy.getData(); + expect(data4Layout.nodes.length).toBe(6); + expect(data4Layout.edges.length).toBe(3); + expect(data4Layout.edges[0].id).toEqual('e1'); + expect(data4Layout.edges[0].animate).toEqual(true); + expect(data4Layout.edges[1].id).toEqual('e2'); + expect(data4Layout.edges[1].animate).toEqual(false); + expect(data4Layout.edges[2].id).toEqual('e3'); + expect(data4Layout.edges[2].animate).toEqual(false); + }); + it.skip('should be possible to use @ syntax to add labels with trail spaces', function () { const res = flow.parser.parse( `flowchart TB