Class: CalloutCreateTool

Tools. CalloutCreateTool

Represents the tool for creating Annotations.FreeTextAnnotation.

new CalloutCreateTool(docViewer)

Creates a new instance of the CalloutCreateTool.
Parameters:
Name Type Description
docViewer CoreControls.DocumentViewer an instance of DocumentViewer.
Properties:
Name Type Description
lineCount number The number of segments for the line of the created callout
defaults object the default styles of the tool
Properties
Name Type Description
StrokeColor Annotations.Color the stroke color of the tool
FillColor Annotations.Color the fill color of the tool
TextColor Annotations.Color the text color of the tool
Opacity number the opacity of the tool
StrokeThickness number the stroke thickness of the tool
FontSize number the font size of the tool
Width number the width of the text box
Height number the height of the text box
Font string the font family of the tool. The value should be web safe fonts
TextAlign 'left' | 'center' | 'right' the text alignment of the tool

Extends

Methods


<static> setTextHandler(textHandler)

Parameters:
Name Type Description
textHandler function A function that should return a string that will be used as the initial text for a freetext annotation

contextMenu(e)

The function called when a context menu should be shown. Use e.preventDefault to disable the default browser context menu
Parameters:
Name Type Description
e the event object
Inherited From:

getDocumentViewer()

Returns the instance of DocumentViewer for this tool.
Inherited From:
Returns:
the instance of DocumentViewer for this tool.
Type
CoreControls.DocumentViewer

getMouseLocation(e)

Takes an event object from a mouse event and converts the location into window coordinates
Parameters:
Name Type Description
e the event object containing mouse coordinates
Inherited From:
Returns:
returns an object with x and y coordinates of the mouse cursor in the viewer
Type
CoreControls.Math.Point

keyDown(e)

The function called when a keyboard key is down.
Parameters:
Name Type Description
e the event object containing keyboard key data.
Inherited From:

mouseDoubleClick(e)

The function called when the mouse left button is double clicked.
Parameters:
Name Type Description
e the event object containing mouse coordinates.
Inherited From:

mouseLeftDown(e)

The function called when the left mouse button is down
Parameters:
Name Type Description
e the event object containing mouse coordinates.
Inherited From:

mouseLeftUp(e)

The function called when the left mouse button is up. Typically, annotations are created and added to the annotation manager at this point.
Parameters:
Name Type Description
e the event object containing mouse coordinates.
Inherited From:

mouseMove(e)

The function called when the mouse moves.
Parameters:
Name Type Description
e the event object containing mouse coordinates.
Inherited From:

off( [type] [, fn])

Remove a handler of the given event name
Parameters:
Name Type Argument Description
type string | number <optional>
The name of the event to remove the handler of. If type is undefined, all the handlers of the object will be removed
fn function <optional>
The handler associated with this event to be removed. If fn is undefined, all the handlers of the given event name will be removed
Inherited From:
Returns:
Returns the object that 'off' is being called on
Type
object
Example
annotManager.off();
annotManager.off('annotationChanged');
annotManager.off('annotationChanged', fn);

on(type, fn)

Add a handler to the given event name
Parameters:
Name Type Description
type string | number The name of the event to listen to
fn function The handler to be called when the event is triggered
Inherited From:
Returns:
Returns the object that 'on' is being called on
Type
object
Example
annotManager.on('annotationChanged', (annotations, action) => {
  ...
});

one(type, fn)

Same as 'on' except the handler will be called only once
Parameters:
Name Type Description
type string | number The name of the event to listen to
fn function The handler to be called when the event is triggered
Inherited From:
Returns:
Returns the object that 'one' is being called on
Type
object
Example
annotManager.one('annotationChanged', (annotations, action) => {
 ...
});

setAllowCreationOverAnnotation(val)

Sets whether new annotations can be created by the tool when hovering over an existing annotation
Parameters:
Name Type Description
val boolean Whether creation of annotation is allowed when hovering over another annotation
Inherited From:

setEnableAutoSized(enable)

Set if the text box of the annotation should auto resize with a fixed with on text change The width can be adjusted by changing calloutTool.defaults.Width to a different value
Parameters:
Name Type Description
enable boolean a boolean indicating whether only the box height will resize on text change

setEnableImmediateActionOnAnnotationSelection(enable)

Set if the tool should trigger action immediately after clicking an annotation. For example, if this is enabled then you can immediately click and drag an annotation without making a separate click to select the annotation.
Parameters:
Name Type Description
enable boolean a boolean indicating whether actions are triggered immediately on clicking on an annotation
Inherited From:
Example
To enable this for one tool (The Pan tool, for example), this can be done:

const tool = docViewer.getTool(window.Tools.ToolNames.PAN);
tool.setEnableImmediateActionOnAnnotationSelection(true);

To enable this for all selection tools, this can be done:

const allTools = Object.values(docViewer.getToolModeMap());
for (const tool of allTools) {
  if (tool instanceof Tools.AnnotationSelectTool) {
    tool.setEnableImmediateActionOnAnnotationSelection(true);
  }
}

setMinimumAnnotationSizeWhenResizing(minimumAnnotationSizeGetterFunction)

Sets the minimum size of annotations when resizing.
Parameters:
Name Type Description
minimumAnnotationSizeGetterFunction function A function that receives the annotation being resized and returns an object with width and height values that represent the minimum width and height the annotation should be allowed to resize to.
Inherited From:
Example
instance.Tools.AnnotationSelectTool.setMinimumAnnotationSizeWhenResizing((annotation) => {
  if (annotation instanceof instance.Annotations.RectangleAnnotation) {
    // minimum size for rectangles
    return { width: 100, height: 30 };
  }
  // no minimum size for other types
  return null;
});

setName(name)

Set the name of the tool, which can be accessed by toolObject.name
Parameters:
Name Type Description
name string name of the tool
Inherited From:

setStyles(newStyles)

Set the style for the tool, which will be applied to annotations drawn afterwards
Parameters:
Name Type Description
newStyles object | function if an object is used, it should contain properties of the new styles. If a function is used, the current styles will be passed as its argument and the function should return an object which contains properties of the new styles. Example of valid properties: StrokeColor, TextColor, FillColor, FontSize, Opacity, StrokeThickness, Precision, Scale, OverlayText, Style and Dashes.
Inherited From:

switchIn(oldTool)

The function called when this tool is selected. Typically use for changing mouse cursors, and initializing states for the tool.
Parameters:
Name Type Description
oldTool Tools.Tool the Tool class that was previously selected.
Inherited From:

switchOut(newTool)

The function called when this tool is deselected. Typically use for changing mouse cursors, and cleaning up states for the tool.
Parameters:
Name Type Description
newTool Tools.Tool the Tool class that was newly selected.
Inherited From:

trigger(type [, data])

Calls the handlers of the event name with given data
Parameters:
Name Type Argument Description
type string | number event name of which the handlers will be called.
data * <optional>
data that will be passed to the handlers. If data is an array, it will be spread and then passed to the handlers
Inherited From:
Returns:
Returns the object that 'trigger' is being called on
Type
object
Example
annotManager.trigger('annotationChanged');
annotManager.trigger('annotationChanged', [[annotation], 'add', {}]);

Events


annotationAdded

Triggered when an annotation has been added to the document by the tool
Parameters:
Name Type Description
annotation Annotations.Annotation The annotation that was added
Inherited From:

annotationCreated

Triggered when an annotation has been created by the tool
Parameters:
Name Type Description
annotations Annotations.Annotation The annotation that was created
Inherited From: