Skip to content

Function: createCommentWithArrow() ​

ts
function createCommentWithArrow(
   targetX, 
   targetY, 
   commentX, 
   commentY, 
   content, 
   options?): object;

Create a comment with an arrow pointing to a target location

This is the recommended way to create comments programmatically, as it ensures that the comment always has at least one arrow (which is required).

Parameters ​

targetX ​

number

X coordinate where the arrow points to

targetY ​

number

Y coordinate where the arrow points to

commentX ​

number

X coordinate of the comment box center

commentY ​

number

Y coordinate of the comment box center

content ​

string = ""

Text content of the comment

options? ​

Optional configuration

arrowStyle? ​

Partial<ArrowStyles>

Style options for the arrow

commentStyle? ​

Partial<CommentProps>

Style options for the comment

Returns ​

object

Object containing the comment and arrow features

arrow ​

ts
arrow: Arrow;

comment ​

ts
comment: Comment;

Example ​

typescript
import { createCommentWithArrow } from '@linkurious/ogma-annotations';

// Create a comment pointing to a node at (100, 100)
const { comment, arrow } = createCommentWithArrow(
  100, 100,           // Target position (where arrow points)
  300, 50,            // Comment position
  "Important node!",  // Comment text
  {
    commentStyle: {
      style: {
        background: "#FFFACD",
        color: "#333"
      }
    },
    arrowStyle: {
      strokeColor: "#3498db",
      strokeWidth: 2,
      head: "arrow"
    }
  }
);

// Add both to the controller
controller.add(comment);
controller.add(arrow);

// The arrow is automatically linked to the comment