• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

mermaid-js / mermaid / 5071601472

pending completion
5071601472

push

github

Knut Sveidqvist
Merge branch 'release/10.2.0'

1633 of 2064 branches covered (79.12%)

Branch coverage included in aggregate %.

2701 of 2701 new or added lines in 128 files covered. (100.0%)

19402 of 34929 relevant lines covered (55.55%)

418.23 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

46.88
/packages/mermaid/src/diagrams/quadrant-chart/quadrantDb.ts
1
import { log } from '../../logger.js';
1✔
2
import mermaidAPI from '../../mermaidAPI.js';
1✔
3
import * as configApi from '../../config.js';
1✔
4
import { sanitizeText } from '../common/common.js';
1✔
5
import {
1✔
6
  setAccTitle,
1✔
7
  getAccTitle,
1✔
8
  setDiagramTitle,
1✔
9
  getDiagramTitle,
1✔
10
  getAccDescription,
1✔
11
  setAccDescription,
1✔
12
  clear as commonClear,
1✔
13
} from '../../commonDb.js';
1✔
14
import { QuadrantBuilder } from './quadrantBuilder.js';
1✔
15

1✔
16
const config = configApi.getConfig();
1✔
17

1✔
18
function textSanitizer(text: string) {
×
19
  return sanitizeText(text.trim(), config);
×
20
}
×
21

1✔
22
type LexTextObj = { text: string; type: 'text' | 'markdown' };
1✔
23

1✔
24
const quadrantBuilder = new QuadrantBuilder();
1✔
25

1✔
26
function setQuadrant1Text(textObj: LexTextObj) {
×
27
  quadrantBuilder.setData({ quadrant1Text: textSanitizer(textObj.text) });
×
28
}
×
29

1✔
30
function setQuadrant2Text(textObj: LexTextObj) {
×
31
  quadrantBuilder.setData({ quadrant2Text: textSanitizer(textObj.text) });
×
32
}
×
33

1✔
34
function setQuadrant3Text(textObj: LexTextObj) {
×
35
  quadrantBuilder.setData({ quadrant3Text: textSanitizer(textObj.text) });
×
36
}
×
37

1✔
38
function setQuadrant4Text(textObj: LexTextObj) {
×
39
  quadrantBuilder.setData({ quadrant4Text: textSanitizer(textObj.text) });
×
40
}
×
41

1✔
42
function setXAxisLeftText(textObj: LexTextObj) {
×
43
  quadrantBuilder.setData({ xAxisLeftText: textSanitizer(textObj.text) });
×
44
}
×
45

1✔
46
function setXAxisRightText(textObj: LexTextObj) {
×
47
  quadrantBuilder.setData({ xAxisRightText: textSanitizer(textObj.text) });
×
48
}
×
49

1✔
50
function setYAxisTopText(textObj: LexTextObj) {
×
51
  quadrantBuilder.setData({ yAxisTopText: textSanitizer(textObj.text) });
×
52
}
×
53

1✔
54
function setYAxisBottomText(textObj: LexTextObj) {
×
55
  quadrantBuilder.setData({ yAxisBottomText: textSanitizer(textObj.text) });
×
56
}
×
57

1✔
58
function addPoint(textObj: LexTextObj, x: number, y: number) {
×
59
  quadrantBuilder.addPoints([{ x, y, text: textSanitizer(textObj.text) }]);
×
60
}
×
61

1✔
62
function setWidth(width: number) {
×
63
  quadrantBuilder.setConfig({ chartWidth: width });
×
64
}
×
65

1✔
66
function setHeight(height: number) {
×
67
  quadrantBuilder.setConfig({ chartHeight: height });
×
68
}
×
69

1✔
70
function getQuadrantData() {
×
71
  const config = configApi.getConfig();
×
72
  const { themeVariables, quadrantChart: quadrantChartConfig } = config;
×
73
  if (quadrantChartConfig) {
×
74
    quadrantBuilder.setConfig(quadrantChartConfig);
×
75
  }
×
76
  quadrantBuilder.setThemeConfig({
×
77
    quadrant1Fill: themeVariables.quadrant1Fill,
×
78
    quadrant2Fill: themeVariables.quadrant2Fill,
×
79
    quadrant3Fill: themeVariables.quadrant3Fill,
×
80
    quadrant4Fill: themeVariables.quadrant4Fill,
×
81
    quadrant1TextFill: themeVariables.quadrant1TextFill,
×
82
    quadrant2TextFill: themeVariables.quadrant2TextFill,
×
83
    quadrant3TextFill: themeVariables.quadrant3TextFill,
×
84
    quadrant4TextFill: themeVariables.quadrant4TextFill,
×
85
    quadrantPointFill: themeVariables.quadrantPointFill,
×
86
    quadrantPointTextFill: themeVariables.quadrantPointTextFill,
×
87
    quadrantXAxisTextFill: themeVariables.quadrantXAxisTextFill,
×
88
    quadrantYAxisTextFill: themeVariables.quadrantYAxisTextFill,
×
89
    quadrantExternalBorderStrokeFill: themeVariables.quadrantExternalBorderStrokeFill,
×
90
    quadrantInternalBorderStrokeFill: themeVariables.quadrantInternalBorderStrokeFill,
×
91
    quadrantTitleFill: themeVariables.quadrantTitleFill,
×
92
  });
×
93
  quadrantBuilder.setData({ titleText: getDiagramTitle() });
×
94
  return quadrantBuilder.build();
×
95
}
×
96

1✔
97
export const parseDirective = function (statement: string, context: string, type: string) {
1✔
98
  // @ts-ignore: TODO Fix ts errors
×
99
  mermaidAPI.parseDirective(this, statement, context, type);
×
100
};
×
101

1✔
102
const clear = function () {
1✔
103
  quadrantBuilder.clear();
×
104
  commonClear();
×
105
};
×
106

1✔
107
export default {
1✔
108
  setWidth,
1✔
109
  setHeight,
1✔
110
  setQuadrant1Text,
1✔
111
  setQuadrant2Text,
1✔
112
  setQuadrant3Text,
1✔
113
  setQuadrant4Text,
1✔
114
  setXAxisLeftText,
1✔
115
  setXAxisRightText,
1✔
116
  setYAxisTopText,
1✔
117
  setYAxisBottomText,
1✔
118
  addPoint,
1✔
119
  getQuadrantData,
1✔
120
  parseDirective,
1✔
121
  clear,
1✔
122
  setAccTitle,
1✔
123
  getAccTitle,
1✔
124
  setDiagramTitle,
1✔
125
  getDiagramTitle,
1✔
126
  getAccDescription,
1✔
127
  setAccDescription,
1✔
128
};
1✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc