Commit Graph

68 Commits

Author SHA1 Message Date
root
1461d535d4 Remove console messages 2020-09-19 00:52:45 -04:00
Guillaume Grossetie
184fcab0b7 resolves #1490 consistent SVG height and width between diagrams 2020-08-25 15:46:10 +02:00
Knut Sveidqvist
a4bf85b1b6 #1542 Making sure config and directives works for overriding theme variables using initialize call or directives + tests 2020-07-29 18:38:59 +02:00
Knut Sveidqvist
32b2ee8cab 2020-07-04 11:13:54 +02:00
chris moran
ca86ab71f2 added hasBreaks and splitBreaks to common.js
updated parseMessage to set wrap: true when breaks are detected
2020-07-01 07:41:44 -04:00
chris moran
2ffb2988bf One small refactor to fix activation starty
Ensure a minimum amount of space between wrapped / non-wrapped title text and the next element
2020-07-01 05:34:53 -04:00
chris moran
cbb69bd3cb () => is not the same as function() {} smh
Fixed a few of the text rendering issues
2020-07-01 04:34:29 -04:00
chris moran
174b098724 loop/opt/alt/etc titles should always wrap 2020-06-30 07:54:51 -04:00
chris moran
6c6f6838ee conf.messageFont() would have a different cacheKey based on the cacheKey calculations done in this particular branch. This will be normalized with the memoize PR about to be created. 2020-06-30 07:18:28 -04:00
chris moran
5b37536ce5 math is hard sometimes? 2020-06-30 06:42:29 -04:00
chris moran
d42b95bab9 messageFont, noteFont, and actorFont getConfig() calls were not specifying the sequence object
take into account width of message over single actor for actors' max message width
2020-06-30 06:20:45 -04:00
chris moran
fcd2126330 Getting closer 2020-06-28 08:37:26 -04:00
chris moran
6915634729 Missed activationWidth new configuration option for sequence diagrams 2020-06-26 10:17:13 -04:00
chris moran
217bd1f4bf Fixed test cases for sequence diagrams
Updated config to match a conversation knut and i had about the relationship between global, site, and integrator configuration
(Will update docs)
Renamed wrapEnabled to wrap
Poor man's caching for calculateTextDimensions, wrapLabel, and breakString (actually makes a huge difference)
2020-06-26 09:26:56 -04:00
chris moran
7d9bf83f66 addition: added bounds models for bounds checking in unit tests.
addition: bounds.init will clear models
addition: added loop model widths id instead of using title as the id
removed parseMessage debug message
addition: added configuration labelBoxWidth and labelBoxHeight for loop label box width/height
change: adjusted svgDraw drawText to support anchor and valign and whether to output a tspan
change: drawText returns an array regardless of array size
change: hardcoded label width/height uses conf.labelBoxWidth and conf.labelBoxHeight
change: Math.round() on many of the calculations to clean up bounds values
change: getTextObj anchor, width, height start as undefined
2020-06-22 16:59:07 -04:00
chris moran
ee109c2279 noteModel generated during calculation of loop bounds
msgModel generated during calculation of loop bounds
simplifies draw messages loop
2020-06-20 18:15:24 -04:00
Chris Moran
809ba2b392 Fixed: width of notes left of and right of 2020-06-19 13:50:53 -04:00
Chris Moran
18254392ab Merge branch 'mermaid-js-develop' into develop 2020-06-19 13:32:23 -04:00
Chris Moran
5646518352 Tweaked the PR for long messages 2020-06-19 12:45:04 -04:00
Chris Moran
710b88efae Merge branch 'feature/1483_long_messages' of https://github.com/mermaid-js/mermaid into develop 2020-06-19 09:17:04 -04:00
Chris Moran
1118c3399c Fixed incorrect positioning and bounds for actors and notes with wrapping enabled and disabled 2020-06-19 09:13:37 -04:00
Knut Sveidqvist
44d5009538 Revert of PR #1482 2020-06-19 10:52:20 +02:00
Knut Sveidqvist
dbbfbb2855 Updates after review 2020-06-19 08:40:54 +02:00
Chris Moran
24ed979faf Fixed an incorrect reference to an outer variable (actor) when processing actor widths 2020-06-18 08:51:16 -04:00
Chris Moran
e64a65c41e Refactored rendering sequence diagrams
Fixed default config clobbering issues
Updated/corrected sequenceDiagram.spec to set the config using mermaidAPI
Enabled freeze on mermaidAPI to protect defaultConfig
2020-06-18 08:10:50 -04:00
Chris Moran
67c2fe8005 Refactored rendering sequence diagrams
Fixed default config clobbering issues
2020-06-17 18:13:37 -04:00
Chris Moran
3c72d28511 Refactored rendering sequence diagrams 2020-06-17 05:54:24 -04:00
Chris Moran
04b4da0c75 ## Work in progress.
Implemented directives per PR review comment:

%%{directive: json-encoded-arg-string}%%

example:

%%{init: { 'logLevel': 0, 'theme': 'dark' }}%%

Also changed wrap and config to directives:

%%{wrap}%%
%%{config: { 'fontSize': 18 }}%%
2020-06-11 15:35:00 -04:00
Chris Moran
bd11663e0a Added auto wrap option (and grammar) for sequenceDiagrams
Added inline config and init(ialization) grammar
Added reinitialize functionality to mermaidAPI (not to be confused with initialize)
Added actorFontWeight, noteFontWeight, messageFontWeight, wrapEnabled, wrapPadding
Added wrapLabel and breakWord functions to intelligently wrap text based on a pixel-based width instead of column-based
  - The implementation is largely from Carys Mills: https://medium.com/@CarysMills/wrapping-svg-text-without-svg-2-ecbfb58f7ba4
  - Made slight modifications for mermaid-js
Fixed dark theme color inconsistencies for sequence diagrams
Removed !important from sequence scss as this prevents any client overrides
Fixed various invalid css values in sequence scss which prevented proper rendering of various elements
Added detectInit to utils for initialization json detection
Updated detectType to support the existence or absence of the intialization configuration
Updated calculateTextWidth to include fontWeight
2020-06-08 14:48:03 -04:00
Knut Sveidqvist
ef24020b14 Merge pull request #1411 from ivan-danilov/sequence-over-notes-position-fix
Fixed SequenceDiagram over note horizontal position
2020-05-22 09:33:54 +02:00
Ivan Danilov
61249b0887 Fixed SequenceDiagram over note horizontal position
Previous expression with noteWidth does not make sense as noteWidth is
not used in case of note over two participants - forceWidth is used
instead. It tried to be symmetrical over cases A,B and B,A but failed.

Can be seen with messages over conf.width size (cannot reproduce in the
live editor as it seems to use not the last version where the code
does not use noteWidth).

The changed code explicitly calculates which of the actors is the
"left" one and starts rendering half margin to the left of its cetral
line.
2020-05-13 21:50:25 -07:00
Adrian Hall
053a86c0d4 Do explicit imports for d3 instead of wildcards 2020-05-11 07:10:04 +01:00
Danny Shemesh
5f6887b316 Sequence diagram fixes & improvements
This commit fixes some bugs, and I believe, improves upon the current
implementation.

In no particular order, it adds:

1. Control over note font size, family and alignment (now defaults to
center)
2. Dynamic actor resizing - actor's width will now scale if its
description is bigger than the static configured width
3. Dynamic actor margins - the margin between actors will now be
dynamically calculated by taking into account the width of connecting
messages or notes
4. Fixed a small visual annoyance where a loop arrow would intersect
with the text it loops on
5. Fixed a bug where if global config -> fontFamily wasn't defined, it
would override the actorFontFamily with an undefined
6. Removed some stale / commented out code
7. Added missing config variables to the global config object in mermaidAPI.js
8. Added messageFontSize, messageFontFamily to control message (non-note)
font settings
9. Memoized the actor widths in a pre-calculation that takes notes and
signals lengths into account
10. Removed redundant console.log lines
11. Extracted out actor width & margin calculation to getMaxMessageWidthPerActor, and
calculateActorMargins
2020-04-23 16:50:00 +03:00
Danny Shemesh
197d006860 Extracted out the commonly used line break regex
This commit extract the commonly used /br\s*\/?>/gi regex to common.js,
in order to keep the code more DRY.
2020-04-23 07:55:28 +03:00
Danny Shemesh
49f8aac6a9 Fixed outdated doc strings
This commit fixes some outdated docstrings, replacing the description
and @params where necessary.
2020-04-23 07:55:09 +03:00
Marc Faber
fc70a8e145 #1271 Fix autonumber positioning in sequence diagrams with multiline texts 2020-04-04 21:53:31 +02:00
Raphael Medaer
cbdb2e6e6f Align left/center/right multiline messages 2020-03-24 22:17:11 +01:00
Raphael Medaer
d409da2201 Multiline sequence message
This commit allow user to write multiline messages in sequence diagram.
For instance:

```
sequenceDiagram
	Alice->>+John: Hello John<br>How are you?<br>I mean...<br>Are you OK today?
	Alice->>+John: John, can you hear me?
	John-->>-Alice: Hi Alice, I can hear you!<br>Keep calm!<br>I'm there.
	John-->>-Alice: And I feel great!
```
2020-03-24 18:26:56 +01:00
Knut Sveidqvist
f8137ea7c1 #1257 Adding the autonumber keyword + tests and docs 2020-02-16 15:26:08 +01:00
Gene Wood
3abd77a1e6 Extend the br tag regex
This extends the `br` tag regex to accommodate an arbitrary amount of
any type of whitespace instead of a single space character, which holds
more closely to the HTML spec[1]

This extends the fix to #702 added in #1153

[1]: http://www.w3.org/TR/REC-xml/#sec-starttags
2019-12-23 08:02:11 -08:00
Marc Faber
233520b797 #702 improve handling of different "br" tag notations for multiline texts in sequence diagrams 2019-12-21 20:39:32 +01:00
Knut Sveidqvist
a5cc1e804b #1031 Adding stricter code checks 2019-10-27 15:24:56 +01:00
Knut Sveidqvist
53bdfee057 #989 Font configuration 2019-10-12 16:53:21 +02:00
Eduardas Michelsonas
1cba50266e #755 Linting fixes + merge 2019-10-08 14:25:29 +02:00
edumicse
ae7852d9b9 Merge branch 'master' into feature/755_handling_br_in_sequence_diagram 2019-10-08 14:18:55 +02:00
knsv
ad5669b523 #931 Aligning code standard 2019-09-12 12:55:10 -07:00
Eduardas Michelsonas
c6efddee87 #755 lint fixes 2019-08-28 20:13:37 +02:00
Eduardas Michelsonas
f6377e6125 #755 2019-08-28 20:09:45 +02:00
Alexander Sage
5c25c5563a chore: Added e2e snapshot tests 2019-07-23 21:07:01 -07:00
Alexander Sage
8b05eeaa59 chore: Added unit tests around drawBackgroundRect and drawRect 2019-07-23 19:15:54 -07:00