Class: AnnotationSelectTool

Core.Tools. AnnotationSelectTool

Represents a tool that can select annotations

new AnnotationSelectTool(docViewer)

Parameters:
Name Type Description
docViewer Core.DocumentViewer An instance of DocumentViewer
Properties:
Name Type Description
overrideSelection boolean Whether to override the default annotation selection behavior of the tool. If true then annotations will not be selected by the tool.

Extends

Members


<static> PAGE_PADDING

padding at the page edges that defines how close annotations can be created and dragged to the edge

Methods


<static> disableDragScroll()

Disable the drag annotation and scroll feature
Example
instance.Core.Tools.AnnotationSelectTool.disableDragScroll()

<static> enableDragScroll()

Enable the drag annotation and scroll feature
Example
instance.Core.Tools.AnnotationSelectTool.enableDragScroll()

<static> setMaximumAnnotationSizeWhenResizing(maximumAnnotationSizeGetterFunction)

Set the function that determines the maximum size of annotations when resizing
Parameters:
Name Type Description
maximumAnnotationSizeGetterFunction Core.Tools.AnnotationSelectTool.SizeGetter A function that receives the annotation being resized and returns an object representing the maximum width and height the annotation should be allowed to resize to
Example
instance.Core.Tools.AnnotationSelectTool.setMaximumAnnotationSizeWhenResizing((annotation) => {
  if (annotation instanceof instance.Core.Annotations.RectangleAnnotation) {
    // maximum size for rectangles
    return { width: 100, height: 30 };
  }
  // no maximum size for other types
  return null;
});

<static> setMinimumAnnotationSizeWhenResizing(minimumAnnotationSizeGetterFunction)

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

addEventListener(type, fn [, options])

Add a handler to the given event name
Parameters:
Name Type Argument Description
type string | number The name of the event to listen to
fn function The handler to be called when the event is triggered
options object <optional>
Optional options object for addEventListener
Properties
Name Type Description
once boolean If true then the handler will be called only once
Inherited From:
Returns:
Returns the object that 'addEventListener' is being called on
Type
object
Example
myObject.addEventListener('eventName', (eventParameter1, eventParameter2) => {
  ...
});

contextMenu(e)

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

disableImmediateActionOnAnnotationSelection()

Disables the tool from triggering an action immediately after clicking an annotation. When this is disabled you need to first click on the annotation to select it before you can drag it. This behavior is disabled by default.

enableImmediateActionOnAnnotationSelection()

Enables the tool to trigger actions 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.
Example
// To enable this for one tool (The Pan tool, for example), this can be done:
const tool = docViewer.getTool(window.Core.Tools.ToolNames.PAN);
tool.enableImmediateActionOnAnnotationSelection();

// 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.enableImmediateActionOnAnnotationSelection();
  }
}

getDocumentViewer()

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

getMouseLocation(e)

Takes an event object from a mouse event and converts the location into window coordinates
Parameters:
Name Type Description
e MouseEvent The event object containing mouse coordinates
Inherited From:
Returns:
Returns an object with x and y coordinates representing the mouse cursor in the viewer
Type
Core.Tools.Point

isSelecting()

Gets whether the tool is currently in a selecting state or not
Returns:
True if the tool is in a selecting state, false otherwise
Type
boolean

keyDown(e)

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

mouseDoubleClick(e)

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

mouseLeave(e)

The function called when the mouse leaves
Parameters:
Name Type Description
e MouseEvent 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 MouseEvent 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 MouseEvent The event object containing mouse coordinates
Inherited From:

mouseMove(e)

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

mouseRightDown(e)

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

removeEventListener( [type] [, fn])

Remove a handler of the given event name and namespace (if given) or with a function reference
Parameters:
Name Type Argument Description
type string | number <optional>
The name of the event to remove the handler of with an optional namespace.
fn function <optional>
The handler associated with this event to be removed. If fn is undefined, all the handlers of the given event namespace will be removed. If you are not passing in this parameter then a namespace must be used with the event name.
Inherited From:
Returns:
Returns the object that 'removeEventListener' is being called on
Type
object
Example
myObject.removeEventListener('eventName.namespace');
myObject.removeEventListener('eventName', fn);

setName(name)

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

setStyles(newStyles)

Sets the style for the tool, which will be applied to annotations drawn afterwards
Parameters:
Name Type Description
newStyles Object.<string, any> An object containing the new style properties
Inherited From:
Example
tool.setStyles({
      StrokeColor: new Annotations.Color(0, 0, 0),
      TextColor: new Annotations.Color(0, 0, 0),
      FillColor: new Annotations.Color(0, 0, 0),
      FontSize: '12pt',
      Opacity: 1,
      StrokeThickness: 1,
      Precision: 0.001,
      Scale: [[0.25, 'in'], [1, 'in']],
      OverlayText: 'Text',
      StrokeStyle: 'solid',
      Dashes: '3, 3',
    });

switchIn(oldTool)

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

switchOut(newTool)

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

tap(e)

The function called when there is a tap event
Parameters:
Name Type Description
e MouseEvent The event object containing mouse coordinates
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
myObject.trigger('eventName');
myObject.trigger('eventName', [eventParameter1, eventParameter2]);

triggerAsync(type [, data])

Calls the handlers of the event name with given data *asynchronously*. It's different from Core.EventHandler#trigger in that it can be awaited to ensure all async handlers have finished executing code
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 'triggerAsync' is being called on
Type
Promise.<Object>
Example
myObject.triggerAsync('eventName');
myObject.triggerAsync('eventName', [eventParameter1, eventParameter2]);

Type Definitions


SizeGetter(annotation)

Parameters:
Name Type Description
annotation Core.Annotations.Annotation The annotation being resized
Returns:
An object with width and height values
Type
Object.<string, number> | null