Class: MentionsManager

WebViewerInstance. MentionsManager


new MentionsManager()

Extends

Methods


getAllowedTrailingCharacters()

Gets the allowed trailing characters
Returns:
An array of trailing characters, or '*'
Type
Array.<string> | '*'

getUserData()

Gets the user data
Returns:
An array of user data
Type
Array.<WebViewerInstance.MentionsManager.UserData>

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) => {
 ...
});

setAllowedTrailingCharacters(chars)

Sets the characters that can follow a mention, while not invalidating it By default, a mention can only be followed by a sapce, or is located at the end of the string
Parameters:
Name Type Description
chars Array.<string> | '*' An array of characters. If `*` is passed, then a mention can be followed by any characters
Example
WebViewer(...)
  .then(function(instance) {
    instance.mentions.setUserData([
      {
        value: 'John Doe',
      },
    ]);
     // this is considered as a mention, because `@John Doe` is at the end of the string
    'Hello, @John Doe'
     // this is considered as a mention, because `@John Doe` is followed by a space
    'Hello, @John Doe How are you?'
     // this is NOT considered as a mention, because `@John Doe` is followed by a comma
    '@John Doe, Hello!'
     instance.mentions.setAllowedTrailingCharacters([' ', ',']);
     // this is now considered as a mention, because comma is an allowed trailing character
    '@John Doe, Hello!'
  });

setUserData(userData)

Sets the user data that will be displayed in the suggestions overlay when an @ is entered in the textarea.
Parameters:
Name Type Description
userData Array.<WebViewerInstance.MentionsManager.UserData> An array of user data
Example
WebViewer(...)
  .then(function(instance) {
    instance.mentions.setUserData([
      {
        value: 'John Doe',
      },
      {
        value: 'Jane Doe',
        email: 'jDoe@gmail.com'
      }
    ]);
  });

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

Type Definitions


UserData

Type:
  • Object
Properties:
Name Type Argument Description
value string The display name of the user, which will be displayed in the suggestion overlay.
id string <optional>
The unique id of the user. Default to `value`.
email string <optional>
The email of the user, which will be displayed under `value` in the suggestion overlay, if present.

Events


mentionChanged

Triggered when a mention or mentions have been changed (added, deleted, modified). Attach like instance.mentions.on('mentionChanged', callback)
Parameters:
Name Type Description
mentions WebViewerInstance.MentionsManager.Mention The mentions that were changed
action 'add' | 'modify' | 'delete' The action that occurred (add, delete, modify)