Skip to Content
ClassesFThreadComment

Class: FThreadComment

A class that represents a thread comment already in the sheet.

Methods

delete()

delete(): Promise<boolean>

Returns

Promise<boolean>

Deprecated

use deleteAsync as instead.


deleteAsync()

deleteAsync(): Promise<boolean>

Delete the comment and it’s replies

Returns

Promise<boolean>

Whether the comment is deleted successfully

Example

const fWorkbook = univerAPI.getActiveWorkbook(); const fWorksheet = fWorkbook.getActiveSheet(); const comments = fWorksheet.getComments(); // Delete the first comment const result = await comments[0]?.deleteAsync(); console.log(result);

getCommentData()

getCommentData(): IBaseComment

Get the comment data

Returns

IBaseComment

The comment data

Example

const fWorkbook = univerAPI.getActiveWorkbook(); const fWorksheet = fWorkbook.getActiveSheet(); const comments = fWorksheet.getComments(); comments.forEach((comment) => { console.log(comment.getCommentData()); });

getContent()

getContent(): IDocumentBody

Returns

IDocumentBody

Deprecated

use getRichText as instead


getIsRoot()

getIsRoot(): boolean

Whether the comment is a root comment

Returns

boolean

Whether the comment is a root comment

Example

const fWorkbook = univerAPI.getActiveWorkbook(); const fWorksheet = fWorkbook.getActiveSheet(); const comments = fWorksheet.getComments(); comments.forEach((comment) => { console.log(comment.getIsRoot()); });

getRange()

getRange(): FRange

Get the range of the comment

Returns

FRange

The range of the comment

Example

const fWorkbook = univerAPI.getActiveWorkbook(); const fWorksheet = fWorkbook.getActiveSheet(); const comments = fWorksheet.getComments(); comments.forEach((comment) => { console.log(comment.getRange().getA1Notation()); });

getReplies()

getReplies(): FThreadComment[]

Get the replies of the comment

Returns

FThreadComment[]

the replies of the comment

Example

const fWorkbook = univerAPI.getActiveWorkbook(); const fWorksheet = fWorkbook.getActiveSheet(); const comments = fWorksheet.getComments(); comments.forEach((comment) => { if (comment.getIsRoot()) { const replies = comment.getReplies(); replies.forEach((reply) => { console.log(reply.getCommentData()); }); } });

getRichText()

getRichText(): RichTextValue

Get the rich text of the comment

Returns

RichTextValue

The rich text of the comment

Example

const fWorkbook = univerAPI.getActiveWorkbook(); const fWorksheet = fWorkbook.getActiveSheet(); const comments = fWorksheet.getComments(); comments.forEach((comment) => { console.log(comment.getRichText()); });

replyAsync()

replyAsync(comment): Promise<boolean>

Reply to the comment

Parameters

ParameterTypeDescription
commentFTheadCommentBuilderThe comment to reply to

Returns

Promise<boolean>

Whether the comment is replied successfully

Example

const fWorkbook = univerAPI.getActiveWorkbook(); const fWorksheet = fWorkbook.getActiveSheet(); // Create a new comment const richText = univerAPI.newRichText().insertText('hello univer'); const commentBuilder = univerAPI.newTheadComment() .setContent(richText) .setId('mock-comment-id'); const cell = fWorksheet.getRange('A1'); await cell.addCommentAsync(commentBuilder); // Reply to the comment const replyText = univerAPI.newRichText().insertText('Hello Univer AI'); const reply = univerAPI.newTheadComment().setContent(replyText); const comment = fWorksheet.getCommentById('mock-comment-id'); const result = await comment.replyAsync(reply); console.log(result);

resolve()

resolve(resolved?): Promise<boolean>

Parameters

ParameterType
resolved?boolean

Returns

Promise<boolean>

Deprecated

use resolveAsync as instead


resolveAsync()

resolveAsync(resolved?): Promise<boolean>

Resolve the comment

Parameters

ParameterTypeDescription
resolved?booleanWhether the comment is resolved

Returns

Promise<boolean>

Set the comment to resolved or not operation result

Example

const fWorkbook = univerAPI.getActiveWorkbook(); const fWorksheet = fWorkbook.getActiveSheet(); // Create a new comment const richText = univerAPI.newRichText().insertText('hello univer'); const commentBuilder = univerAPI.newTheadComment() .setContent(richText) .setId('mock-comment-id'); const cell = fWorksheet.getRange('A1'); await cell.addCommentAsync(commentBuilder); // Resolve the comment after 3 seconds setTimeout(async () => { const comment = fWorksheet.getCommentById('mock-comment-id'); const result = await comment.resolveAsync(true); console.log(result); }, 3000);

update()

update(content): Promise<boolean>

Parameters

ParameterType
contentIDocumentBody

Returns

Promise<boolean>

Deprecated

use updateAsync as instead


updateAsync()

updateAsync(content): Promise<boolean>

Update the comment content

Parameters

ParameterTypeDescription
contentanyThe new content of the comment

Returns

Promise<boolean>

Whether the comment is updated successfully

Example

const fWorkbook = univerAPI.getActiveWorkbook(); const fWorksheet = fWorkbook.getActiveSheet(); // Create a new comment const richText = univerAPI.newRichText().insertText('hello univer'); const commentBuilder = univerAPI.newTheadComment() .setContent(richText) .setId('mock-comment-id'); const cell = fWorksheet.getRange('A1'); await cell.addCommentAsync(commentBuilder); // Update the comment after 3 seconds setTimeout(async () => { const comment = fWorksheet.getCommentById('mock-comment-id'); const newRichText = univerAPI.newRichText().insertText('Hello Univer AI'); const result = await comment.updateAsync(newRichText); console.log(result); }, 3000);