Class: Tool

Core.Tools. Tool

Represents the base class for DocumentViewer UI tools.

new Tool(docViewer)

Parameters:
Name Type Description
docViewer Core.DocumentViewer An instance of DocumentViewer.
Properties:
Name Type Argument Description
docViewer Core.DocumentViewer the reference to the current DocumentViewer instance
pageCoordinates Array.<Core.Tools.PageCoordinate> an array of page coordinates this tool currently holds. The default is index 0 for the mouse left down and index 1 for mouse left up.
name string <optional>
The name of the tool
cursor string The name of the default mouse cursor used when the tool is active

Extends

Members


<static> ALLOW_ANNOTS_OUTSIDE_PAGE

A boolean indicating whether annotations can be dragged outside of the page boundaries. Default is false.

<static> ENABLE_ANNOTATION_HOVER_CURSORS

A boolean indicating whether the cursor should change when hovering over annotations. Default is true.

<static> ENABLE_AUTO_SWITCH

A boolean indicating whether the text select tool should automatically switch if the cursor is hovering over text or not

<static> ENABLE_TEXT_SELECTION

A boolean indicating whether text selection is enabled

Methods


<static> allowAnnotationsOutsidePage()

Annotations will be allowed to be dragged outside of the page boundaries.

<static> disableAnnotationHoverCursors()

The cursor will not change when hovering over annotations.

<static> disableAutoSwitch()

The text select tool will not automatically switch if the cursor is hovering over text.

<static> disableTextSelection()

Disable text selection.

<static> disallowAnnotationsOutsidePage()

Annotations will not be allowed to be dragged outside of the page boundaries.

<static> enableAnnotationHoverCursors()

The cursor will change when hovering over annotations.

<static> enableAutoSwitch()

The text select tool will automatically switch if the cursor is hovering over text.

<static> enableTextSelection()

Enable text selection.

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
annotManager.addEventListener('annotationChanged', (annotations, action) => {
  ...
});

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 The event object

getDocumentViewer()

Returns the instance of DocumentViewer for this tool.
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 The event object containing mouse coordinates
Returns:
Returns an object with x and y coordinates of the mouse cursor in the viewer
Type
Core.Math.Point

keyDown(e)

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

mouseDoubleClick(e)

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

mouseLeftDown(e)

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

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.

mouseMove(e)

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

mouseRightDown(e)

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

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:
Deprecated:
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:
Deprecated:
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:
Deprecated:
  • Since version 8.0. Use addEventListener with {'once': true} as options instead.
Returns:
Returns the object that 'one' is being called on
Type
object
Example
annotManager.one('annotationChanged', (annotations, action) => {
 ...
});

removeEventListener( [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:
Deprecated:
  • for version 9.0. Use [removeEventListener] with fn specified
Returns:
Returns the object that 'removeEventListener' is being called on
Type
object
Example
annotManager.removeEventListener();
annotManager.removeEventListener('annotationChanged');
annotManager.removeEventListener('annotationChanged', fn);

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

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.

switchIn(oldTool)

The function is called when this tool is selected. Typically use 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.

switchOut(newTool)

The function is called when this tool is deselected. Typically use 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.

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', {}]);