diff --git a/docs/config/setup/mermaid/interfaces/ParseOptions.md b/docs/config/setup/mermaid/interfaces/ParseOptions.md index e068a91fb..0ff3bf004 100644 --- a/docs/config/setup/mermaid/interfaces/ParseOptions.md +++ b/docs/config/setup/mermaid/interfaces/ParseOptions.md @@ -10,7 +10,7 @@ # Interface: ParseOptions -Defined in: [packages/mermaid/src/types.ts:84](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L84) +Defined in: [packages/mermaid/src/types.ts:89](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L89) ## Properties @@ -18,7 +18,7 @@ Defined in: [packages/mermaid/src/types.ts:84](https://github.com/mermaid-js/mer > `optional` **suppressErrors**: `boolean` -Defined in: [packages/mermaid/src/types.ts:89](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L89) +Defined in: [packages/mermaid/src/types.ts:94](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L94) If `true`, parse will return `false` instead of throwing error when the diagram is invalid. The `parseError` function will not be called. diff --git a/docs/config/setup/mermaid/interfaces/ParseResult.md b/docs/config/setup/mermaid/interfaces/ParseResult.md index 1651a6fa9..66e5de194 100644 --- a/docs/config/setup/mermaid/interfaces/ParseResult.md +++ b/docs/config/setup/mermaid/interfaces/ParseResult.md @@ -10,7 +10,7 @@ # Interface: ParseResult -Defined in: [packages/mermaid/src/types.ts:92](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L92) +Defined in: [packages/mermaid/src/types.ts:97](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L97) ## Properties @@ -18,7 +18,7 @@ Defined in: [packages/mermaid/src/types.ts:92](https://github.com/mermaid-js/mer > **config**: [`MermaidConfig`](MermaidConfig.md) -Defined in: [packages/mermaid/src/types.ts:100](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L100) +Defined in: [packages/mermaid/src/types.ts:105](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L105) The config passed as YAML frontmatter or directives @@ -28,6 +28,6 @@ The config passed as YAML frontmatter or directives > **diagramType**: `string` -Defined in: [packages/mermaid/src/types.ts:96](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L96) +Defined in: [packages/mermaid/src/types.ts:101](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L101) The diagram type, e.g. 'flowchart', 'sequence', etc. diff --git a/docs/config/setup/mermaid/interfaces/RenderResult.md b/docs/config/setup/mermaid/interfaces/RenderResult.md index c0e5496b8..9d6771ad1 100644 --- a/docs/config/setup/mermaid/interfaces/RenderResult.md +++ b/docs/config/setup/mermaid/interfaces/RenderResult.md @@ -10,7 +10,7 @@ # Interface: RenderResult -Defined in: [packages/mermaid/src/types.ts:110](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L110) +Defined in: [packages/mermaid/src/types.ts:115](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L115) ## Properties @@ -18,7 +18,7 @@ Defined in: [packages/mermaid/src/types.ts:110](https://github.com/mermaid-js/me > `optional` **bindFunctions**: (`element`) => `void` -Defined in: [packages/mermaid/src/types.ts:128](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L128) +Defined in: [packages/mermaid/src/types.ts:133](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L133) Bind function to be called after the svg has been inserted into the DOM. This is necessary for adding event listeners to the elements in the svg. @@ -45,7 +45,7 @@ bindFunctions?.(div); // To call bindFunctions only if it's present. > **diagramType**: `string` -Defined in: [packages/mermaid/src/types.ts:118](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L118) +Defined in: [packages/mermaid/src/types.ts:123](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L123) The diagram type, e.g. 'flowchart', 'sequence', etc. @@ -55,6 +55,6 @@ The diagram type, e.g. 'flowchart', 'sequence', etc. > **svg**: `string` -Defined in: [packages/mermaid/src/types.ts:114](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L114) +Defined in: [packages/mermaid/src/types.ts:119](https://github.com/mermaid-js/mermaid/blob/master/packages/mermaid/src/types.ts#L119) The svg code for the rendered graph. diff --git a/docs/syntax/sequenceDiagram.md b/docs/syntax/sequenceDiagram.md index 32afe5a30..a8f502dcd 100644 --- a/docs/syntax/sequenceDiagram.md +++ b/docs/syntax/sequenceDiagram.md @@ -94,22 +94,6 @@ sequenceDiagram Bob->>Alice: Response to boundary ``` -```mermaid-example -sequenceDiagram - participant Alice@{ "type" : "boundary" } - participant Bob - Alice->>Bob: Request from boundary - Bob->>Alice: Response to boundary -``` - -```mermaid -sequenceDiagram - participant Alice@{ "type" : "boundary" } - participant Bob - Alice->>Bob: Request from boundary - Bob->>Alice: Response to boundary -``` - ### Control If you want to use the control symbol for a participant, use the JSON configuration syntax as shown below. @@ -130,22 +114,6 @@ sequenceDiagram Bob->>Alice: Control response ``` -```mermaid-example -sequenceDiagram - participant Alice@{ "type" : "control" } - participant Bob - Alice->>Bob: Control request - Bob->>Alice: Control response -``` - -```mermaid -sequenceDiagram - participant Alice@{ "type" : "control" } - participant Bob - Alice->>Bob: Control request - Bob->>Alice: Control response -``` - ### Entity If you want to use the entity symbol for a participant, use the JSON configuration syntax as shown below. @@ -166,22 +134,6 @@ sequenceDiagram Bob->>Alice: Entity response ``` -```mermaid-example -sequenceDiagram - participant Alice@{ "type" : "entity" } - participant Bob - Alice->>Bob: Entity request - Bob->>Alice: Entity response -``` - -```mermaid -sequenceDiagram - participant Alice@{ "type" : "entity" } - participant Bob - Alice->>Bob: Entity request - Bob->>Alice: Entity response -``` - ### Database If you want to use the database symbol for a participant, use the JSON configuration syntax as shown below. @@ -202,22 +154,6 @@ sequenceDiagram Bob->>Alice: DB result ``` -```mermaid-example -sequenceDiagram - participant Alice@{ "type" : "database" } - participant Bob - Alice->>Bob: DB query - Bob->>Alice: DB result -``` - -```mermaid -sequenceDiagram - participant Alice@{ "type" : "database" } - participant Bob - Alice->>Bob: DB query - Bob->>Alice: DB result -``` - ### Collections If you want to use the collections symbol for a participant, use the JSON configuration syntax as shown below. @@ -238,22 +174,6 @@ sequenceDiagram Bob->>Alice: Collections response ``` -```mermaid-example -sequenceDiagram - participant Alice@{ "type" : "collections" } - participant Bob - Alice->>Bob: Collections request - Bob->>Alice: Collections response -``` - -```mermaid -sequenceDiagram - participant Alice@{ "type" : "collections" } - participant Bob - Alice->>Bob: Collections request - Bob->>Alice: Collections response -``` - ### Queue If you want to use the queue symbol for a participant, use the JSON configuration syntax as shown below. @@ -274,22 +194,6 @@ sequenceDiagram Bob->>Alice: Queue response ``` -```mermaid-example -sequenceDiagram - participant Alice@{ "type" : "queue" } - participant Bob - Alice->>Bob: Queue message - Bob->>Alice: Queue response -``` - -```mermaid -sequenceDiagram - participant Alice@{ "type" : "queue" } - participant Bob - Alice->>Bob: Queue message - Bob->>Alice: Queue response -``` - ### Aliases The actor can have a convenient identifier and a descriptive label. diff --git a/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison b/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison index 87ef8212f..5938e3247 100644 --- a/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison +++ b/packages/mermaid/src/diagrams/sequence/parser/sequenceDiagram.jison @@ -235,7 +235,7 @@ participant_statement | 'participant_actor' actor 'AS' restOfLine 'NEWLINE' {$2.draw='actor'; $2.type='addParticipant';$2.description=yy.parseMessage($4); $$=$2;} | 'participant_actor' actor 'NEWLINE' {$2.draw='actor'; $2.type='addParticipant'; $$=$2;} | 'destroy' actor 'NEWLINE' {$2.type='destroyParticipant'; $$=$2;} - | 'participant' actor_with_config 'NEWLINE' { $2.draw = 'participant'; $2.type = 'addParticipant'; $$ = $2;} + | 'participant' actor_with_config 'NEWLINE' {$2.draw='participant'; $2.type='addParticipant'; $$=$2;} ; diff --git a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js index 8088f3c44..4820d19ea 100644 --- a/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js +++ b/packages/mermaid/src/diagrams/sequence/sequenceDiagram.spec.js @@ -2038,13 +2038,17 @@ Bob->>Alice:Got it! expect(messages[0].from).toBe('Alice'); expect(messages[0].to).toBe('Bob'); }); - describe('when newly parsing messages ', () => { + describe('when parsing extended participant syntax ', () => { it('should parse a message', async () => { const actor1 = 'database'; const diagram = await Diagram.fromText(` sequenceDiagram participant Alice@{ "type" : "database" } participant Bob@{ "type" : "database" } + participant Carl@{ type: "database" } + participant David@{ "type" : 'database' } + participant Eve@{ type: 'database' } + participant Favela@{ "type" : "database" } Bob->>+Alice: Hi Alice Alice->>+Bob: Hi Bob `); diff --git a/packages/mermaid/src/docs/syntax/sequenceDiagram.md b/packages/mermaid/src/docs/syntax/sequenceDiagram.md index e2ff65af9..6e0ac87bf 100644 --- a/packages/mermaid/src/docs/syntax/sequenceDiagram.md +++ b/packages/mermaid/src/docs/syntax/sequenceDiagram.md @@ -58,14 +58,6 @@ sequenceDiagram Bob->>Alice: Response to boundary ``` -```mermaid -sequenceDiagram - participant Alice@{ "type" : "boundary" } - participant Bob - Alice->>Bob: Request from boundary - Bob->>Alice: Response to boundary -``` - ### Control If you want to use the control symbol for a participant, use the JSON configuration syntax as shown below. @@ -78,14 +70,6 @@ sequenceDiagram Bob->>Alice: Control response ``` -```mermaid -sequenceDiagram - participant Alice@{ "type" : "control" } - participant Bob - Alice->>Bob: Control request - Bob->>Alice: Control response -``` - ### Entity If you want to use the entity symbol for a participant, use the JSON configuration syntax as shown below. @@ -98,14 +82,6 @@ sequenceDiagram Bob->>Alice: Entity response ``` -```mermaid -sequenceDiagram - participant Alice@{ "type" : "entity" } - participant Bob - Alice->>Bob: Entity request - Bob->>Alice: Entity response -``` - ### Database If you want to use the database symbol for a participant, use the JSON configuration syntax as shown below. @@ -118,14 +94,6 @@ sequenceDiagram Bob->>Alice: DB result ``` -```mermaid -sequenceDiagram - participant Alice@{ "type" : "database" } - participant Bob - Alice->>Bob: DB query - Bob->>Alice: DB result -``` - ### Collections If you want to use the collections symbol for a participant, use the JSON configuration syntax as shown below. @@ -138,14 +106,6 @@ sequenceDiagram Bob->>Alice: Collections response ``` -```mermaid -sequenceDiagram - participant Alice@{ "type" : "collections" } - participant Bob - Alice->>Bob: Collections request - Bob->>Alice: Collections response -``` - ### Queue If you want to use the queue symbol for a participant, use the JSON configuration syntax as shown below. @@ -158,14 +118,6 @@ sequenceDiagram Bob->>Alice: Queue response ``` -```mermaid -sequenceDiagram - participant Alice@{ "type" : "queue" } - participant Bob - Alice->>Bob: Queue message - Bob->>Alice: Queue response -``` - ### Aliases The actor can have a convenient identifier and a descriptive label.