mirror of
				https://github.com/mermaid-js/mermaid.git
				synced 2025-11-04 04:44:08 +01:00 
			
		
		
		
	Merge pull request #1333 from spopida/bug/1327_flowchart_cutoff
Prevent un-labelled edges that are left of the left-most vertex from being cut off the diagram
This commit is contained in:
		@@ -640,4 +640,16 @@ describe('Flowchart', () => {
 | 
			
		||||
      { flowchart: { htmlLabels: false } }
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  it('31: should not slice off edges that are to the left of the left-most vertex', () => {
 | 
			
		||||
    imgSnapshotTest(
 | 
			
		||||
      `graph TD
 | 
			
		||||
      work --> sleep
 | 
			
		||||
      sleep --> work
 | 
			
		||||
      eat --> sleep
 | 
			
		||||
      work --> eat
 | 
			
		||||
      `,
 | 
			
		||||
      { flowchart: { htmlLabels: false } }
 | 
			
		||||
    );
 | 
			
		||||
  });
 | 
			
		||||
});
 | 
			
		||||
 
 | 
			
		||||
@@ -380,10 +380,6 @@ export const draw = function(text, id) {
 | 
			
		||||
  const svgBounds = svg.node().getBBox();
 | 
			
		||||
  const width = svgBounds.width + padding * 2;
 | 
			
		||||
  const height = svgBounds.height + padding * 2;
 | 
			
		||||
  logger.debug(
 | 
			
		||||
    `new ViewBox 0 0 ${width} ${height}`,
 | 
			
		||||
    `translate(${padding - g._label.marginx}, ${padding - g._label.marginy})`
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  if (conf.useMaxWidth) {
 | 
			
		||||
    svg.attr('width', '100%');
 | 
			
		||||
@@ -393,10 +389,10 @@ export const draw = function(text, id) {
 | 
			
		||||
    svg.attr('width', width);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  svg.attr('viewBox', `0 0 ${width} ${height}`);
 | 
			
		||||
  svg
 | 
			
		||||
    .select('g')
 | 
			
		||||
    .attr('transform', `translate(${padding - g._label.marginx}, ${padding - svgBounds.y})`);
 | 
			
		||||
  // Ensure the viewBox includes the whole svgBounds area with extra space for padding
 | 
			
		||||
  const vBox = `${svgBounds.x - padding} ${svgBounds.y - padding} ${width} ${height}`;
 | 
			
		||||
  logger.debug(`viewBox ${vBox}`);
 | 
			
		||||
  svg.attr('viewBox', vBox);
 | 
			
		||||
 | 
			
		||||
  // Index nodes
 | 
			
		||||
  flowDb.indexNodes('subGraph' + i);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user