mirror of
https://github.com/mermaid-js/mermaid.git
synced 2025-09-19 23:39:50 +02:00
Lean-right and question
This commit is contained in:
@@ -8,13 +8,29 @@ import { insertPolygonShape } from './insertPolygonShape.js';
|
|||||||
export const lean_right = async (parent: SVGAElement, node: Node): Promise<SVGAElement> => {
|
export const lean_right = async (parent: SVGAElement, node: Node): Promise<SVGAElement> => {
|
||||||
const { labelStyles, nodeStyles } = styles2String(node);
|
const { labelStyles, nodeStyles } = styles2String(node);
|
||||||
node.labelStyle = labelStyles;
|
node.labelStyle = labelStyles;
|
||||||
const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));
|
|
||||||
const nodePadding = node.padding ?? 0;
|
const nodePadding = node.padding ?? 0;
|
||||||
const labelPaddingX = node.look === 'neo' ? nodePadding * 3 : nodePadding;
|
|
||||||
const labelPaddingY = node.look === 'neo' ? nodePadding * 1.5 : nodePadding;
|
const labelPaddingY = node.look === 'neo' ? nodePadding * 1.5 : nodePadding;
|
||||||
|
|
||||||
const w = Math.max(bbox.width + labelPaddingY, node?.width ?? 0);
|
if (node.width || node.height) {
|
||||||
const h = Math.max(bbox.height + labelPaddingX, node?.height ?? 0);
|
node.width = node?.width ?? 0;
|
||||||
|
if (node.width < 50) {
|
||||||
|
node.width = 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
node.height = node?.height ?? 0;
|
||||||
|
if (node.height < 50) {
|
||||||
|
node.height = 50;
|
||||||
|
}
|
||||||
|
const _dx = (3 * node.height) / 6;
|
||||||
|
node.height = node.height - labelPaddingY;
|
||||||
|
node.width = node.width - 2 * _dx;
|
||||||
|
}
|
||||||
|
|
||||||
|
const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));
|
||||||
|
|
||||||
|
const h = Math.max(bbox.height, node?.height ?? 0) + labelPaddingY;
|
||||||
|
const w = Math.max(bbox.width, node?.width ?? 0);
|
||||||
|
|
||||||
const points = [
|
const points = [
|
||||||
{ x: (-3 * h) / 6, y: 0 },
|
{ x: (-3 * h) / 6, y: 0 },
|
||||||
{ x: w, y: 0 },
|
{ x: w, y: 0 },
|
||||||
|
@@ -19,10 +19,22 @@ export const createDecisionBoxPathD = (x: number, y: number, size: number): stri
|
|||||||
export const question = async (parent: SVGAElement, node: Node): Promise<SVGAElement> => {
|
export const question = async (parent: SVGAElement, node: Node): Promise<SVGAElement> => {
|
||||||
const { labelStyles, nodeStyles } = styles2String(node);
|
const { labelStyles, nodeStyles } = styles2String(node);
|
||||||
node.labelStyle = labelStyles;
|
node.labelStyle = labelStyles;
|
||||||
const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));
|
const padding = node.padding ?? 0;
|
||||||
|
if (node.width || node.height) {
|
||||||
|
node.width = (node?.width ?? 0) - padding * 8;
|
||||||
|
if (node.width < 50) {
|
||||||
|
node.width = 50;
|
||||||
|
}
|
||||||
|
|
||||||
const w = bbox.width + node.padding;
|
node.height = (node?.height ?? 0) - padding * 8;
|
||||||
const h = bbox.height + node.padding;
|
if (node.height < 50) {
|
||||||
|
node.height = 50;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const { shapeSvg, bbox } = await labelHelper(parent, node, getNodeClasses(node));
|
||||||
|
const w = (Math.max(bbox.width, node?.width ?? 0) + padding * 8) / 2;
|
||||||
|
const h = w;
|
||||||
const s = w + h;
|
const s = w + h;
|
||||||
|
|
||||||
const points = [
|
const points = [
|
||||||
|
Reference in New Issue
Block a user