From 7c91c61372ffa5aeb9b882126c51aa17a3261bb2 Mon Sep 17 00:00:00 2001 From: hikerpig Date: Fri, 5 Jan 2024 21:23:38 +0800 Subject: [PATCH] fix(diagrams): [sequenceDiagram] remove unnecessary stroke in message text --- .changeset/neat-steaks-grab.md | 5 +++++ .../__snapshots__/sequence-artist.spec.ts.snap | 4 ---- packages/pintora-diagrams/src/sequence/artist.ts | 16 ++++++++++++---- packages/pintora-diagrams/src/sequence/config.ts | 5 +++++ 4 files changed, 22 insertions(+), 8 deletions(-) create mode 100644 .changeset/neat-steaks-grab.md diff --git a/.changeset/neat-steaks-grab.md b/.changeset/neat-steaks-grab.md new file mode 100644 index 000000000..fdd956e46 --- /dev/null +++ b/.changeset/neat-steaks-grab.md @@ -0,0 +1,5 @@ +--- +'@pintora/diagrams': patch +--- + +[sequenceDiagram] remove unnecessary stroke in message text diff --git a/packages/pintora-diagrams/src/sequence/__tests__/__snapshots__/sequence-artist.spec.ts.snap b/packages/pintora-diagrams/src/sequence/__tests__/__snapshots__/sequence-artist.spec.ts.snap index b5853c408..874218e26 100644 --- a/packages/pintora-diagrams/src/sequence/__tests__/__snapshots__/sequence-artist.spec.ts.snap +++ b/packages/pintora-diagrams/src/sequence/__tests__/__snapshots__/sequence-artist.spec.ts.snap @@ -107,7 +107,6 @@ exports[`sequence-artist draw cross mark to 1`] = ` "fontFamily": "Source Code Pro, sans-serif", "fontSize": 16, "fontWeight": 400, - "stroke": "#3b4044", "text": "Message", "textAlign": "center", "textBaseline": "top", @@ -589,7 +588,6 @@ exports[`sequence-artist match example snapshot 1`] = ` "fontFamily": "Source Code Pro, sans-serif", "fontSize": 16, "fontWeight": 400, - "stroke": "#3b4044", "text": "render this", "textAlign": "center", "textBaseline": "top", @@ -654,7 +652,6 @@ exports[`sequence-artist match example snapshot 1`] = ` "fontFamily": "Source Code Pro, sans-serif", "fontSize": 16, "fontWeight": 400, - "stroke": "#3b4044", "text": "Has input changed?", "textAlign": "center", "textBaseline": "top", @@ -759,7 +756,6 @@ exports[`sequence-artist match example snapshot 1`] = ` "fontFamily": "Source Code Pro, sans-serif", "fontSize": 16, "fontWeight": 400, - "stroke": "#3b4044", "text": "your figure here", "textAlign": "center", "textBaseline": "top", diff --git a/packages/pintora-diagrams/src/sequence/artist.ts b/packages/pintora-diagrams/src/sequence/artist.ts index 9df7c6073..7dfa8d124 100644 --- a/packages/pintora-diagrams/src/sequence/artist.ts +++ b/packages/pintora-diagrams/src/sequence/artist.ts @@ -512,7 +512,7 @@ class Model { let boxInfo = this.boxInfos.get(id) if (id) { if (!boxInfo) { - const fontConfig = messageFont(conf) + const fontConfig = boxFont(conf) boxInfo = { width: 0, actorMarks: [], @@ -589,7 +589,7 @@ function adjustLoopSizeForWrap( if (msg.id && msg.text && loopWidths[msg.id]) { const loopMinWidth = model.loopMinWidths[msg.id] || 0 loopWidth = Math.max(loopWidths[msg.id].width, loopMinWidth) - const textConf = messageFont(conf) + const textConf = boxFont(conf) msg.text = `[${msg.text}]` msg.wrap = true @@ -614,6 +614,15 @@ export const messageFont = (cnf: SequenceConf) => { const actorFont = messageFont const noteFont = messageFont +/** get box - such as loop and box - font config from conf */ +export const boxFont = (cnf: SequenceConf) => { + return { + fontFamily: cnf.messageFontFamily, + fontSize: cnf.messageFontSize, + fontWeight: cnf.boxFontWeight || cnf.messageFontWeight, + } +} + function splitBreaks(text: string) { return text.split('\n') } @@ -634,7 +643,6 @@ const drawMessage = function (msgModel: MessageModel): DrawResult { textAlign: 'center', textBaseline: 'top', fill: conf.messageTextColor, - stroke: conf.messageTextColor, } // console.log('drawMessage', msgModel.text, msgModel.width, msgModel) @@ -1059,7 +1067,7 @@ function drawParticipantBoxes(context: SequenceArtistContext) { }) boxesGroup.children.push(rect) if (participantBox.text) { - const fontConfig = messageFont(conf) + const fontConfig = boxFont(conf) const textMark = makeMark('text', { text: participantBox.text, x: startx + width / 2, diff --git a/packages/pintora-diagrams/src/sequence/config.ts b/packages/pintora-diagrams/src/sequence/config.ts index 938ec5ebf..9796813e1 100644 --- a/packages/pintora-diagrams/src/sequence/config.ts +++ b/packages/pintora-diagrams/src/sequence/config.ts @@ -17,6 +17,10 @@ export type SequenceConf = { messageFontSize: number messageFontWeight: MarkAttrs['fontWeight'] messageTextColor: string + /** + * font weight of box - such as loop and box + */ + boxFontWeight: MarkAttrs['fontWeight'] wrapPadding: number labelBoxWidth: number labelBoxHeight: number @@ -64,6 +68,7 @@ export const defaultConfig: SequenceConf = { messageFontFamily: DEFAULT_FONT_FAMILY, messageFontWeight: 400, messageTextColor: PALETTE.normalDark, + boxFontWeight: 700, // bold wrapPadding: 10, labelBoxWidth: 50, labelBoxHeight: 20,