-
new Conversation(mark)
-
A collection of comments associated with a specific PCCViewer.Mark Object.
A
Conversation
Object is already available on each PCCViewer.Mark, and should not be created directly through this constructor.Parameters:
Name Type Description mark
PCCViewer.Mark The Mark to which the conversation is attached.
Throws:
-
If
mark
is not a PCCViewer.Mark Object. -
- Type
- Error
Example
// assume we already have some marks on the document var firstMark = viewerControl.getAllMarks()[0]; var conversation = firstMark.getConversation();
-
Methods
-
addComment(commentText) → {PCCViewer.Comment}
-
Adds a comment to the
Conversation
.Parameters:
Name Type Description commentText
string The text content of the comment being added.
- See:
Throws:
-
If
commentText
is not a string. -
- Type
- Error
Returns:
The newly created comment.
- Type
- PCCViewer.Comment
-
deleteComments(comments) → {PCCViewer.Conversation}
-
Deletes the specified comment or comments from the
Conversation
.Parameters:
Name Type Description comments
PCCViewer.Comment | Array.<PCCViewer.Comment> A comment or array of comments to be deleted.
Returns:
The conversation Object.
-
getComments() → {Array.<PCCViewer.Comment>}
-
Gets an array of all comments in the Conversation. The comments are ordered by the creation date and time.
Returns:
An array of Comments.
- Type
- Array.<PCCViewer.Comment>
-
getData(key) → {string|object}
-
Gets the data value for the given key, or gets a hash containing all key values, if a key was not provided.
Note: If a hash is returned, this will be a new object each time it is called. Adding new properties to the returned hash will not add data to the Conversation.
Note: The returned data is not mutated or sanitized, which could lead to a security vulnerability if not sanitized properly before use.
Parameters:
Name Type Description key
string The key for which to get the data value.
Throws:
-
If the
key
argument is null or otherwise not a string. -
- Type
- Error
Returns:
- If a key argument was provided, it returns the associated value.
- If a key argument was provided, but a value has not been associated with the key, then it returns undefined.
- If a key was not provided, it returns a hash object containing all key-value pairs.
- Type
- string | object
Example
var conversation = myMark.getConversation(); // The key "Resolved" is set the value "false". conversation.setData("Resolved", "false"); // The key "Severity" is set the value "Critical". conversation.setData("Severity", "Critical"); conversation.getData("Resolved"); // returns "false" conversation.getData(); // returns {"Resolved":"false", "Severity":"Critical"} conversation.getData("FooBar"); // returns undefined
-
-
getDataKeys() → {Array.<string>}
-
Gets an array of data keys known to this Conversation.
Returns:
Returns an array of data keys known to this Conversation. If no data is stored, then an empty array will be returned.
- Type
- Array.<string>
Example
var conversation = myMark.getConversation(); // Returns an empty array before KVPs are stored. conversation.getDataKeys(); // returns [] // Returns a list of all keys. conversation.setData("Resolved", "false"); conversation.setData("Severity", "Critical"); conversation.getDataKeys(); // returns ["Resolved", "Severity"]
-
getMark() → {PCCViewer.Mark}
-
Gets the PCCViewer.Mark to which the conversation is attached.
Returns:
The Mark to which the conversation is attached.
- Type
- PCCViewer.Mark
-
setData(key, value) → {PCCViewer.Conversation}
-
Sets the data value for the given key.
Notes:
- Overwrites any data value already associated with the given key.
- There is no artificial limit imposed on the number of key-value pairs that are stored.
- If limits on the number of KVPs are required, they should be enforced by calling code.
- Setting the value as undefined results in no information for the key being persisted to the server.
- The returned data is not mutated or sanitized, which could lead to a security vulnerability if not sanitized properly before use.
Parameters:
Name Type Description key
string The key for which to set the data value.
value
string This is the value to set for the key.
- This must be a string or undefined.
- The maximum length of the string is not limited by this function.
Returns:
Returns the Conversation object on which the method was called.
Example
var conversation = myMark.getConversation(); // Get data returns undefined before the key is set. conversation.getData("Resolved"); // returns undefined // The key "Resolved" is set the value "false". conversation.setData("Resolved", "false"); conversation.getData("Resolved"); // returns "false" // The key "Resolved" is overwritten with the value "true". conversation.setData("Resolved", "true"); conversation.getData("Resolved"); // returns "true" // The key "Resolved" is unset, by setting the value to undefined. conversation.setData("Resolved", undefined); conversation.getData("Resolved"); // returns undefined // The value can only be set to a string or undefined. // All other data types throw. conversation.setData("FooBar", null); // throws conversation.setData("FooBar", 1); // throws conversation.setData("FooBar", true); // throws conversation.setData("FooBar", {}); // throws conversation.setData("FooBar", []); // throws