CommentProvider class

Provider for managing comment state and UI interactions.

This class manages the state of comments for a specific entity (post). It handles loading, adding, replying, liking, and deleting comments, and notifies listeners when the state changes.

Example:

final provider = CommentProvider(
  controller: commentController,
  postId: 'post-123',
  validator: commentValidator,
);
Mixed-in types

Constructors

CommentProvider({required CommentController controller, required String postId, required CommentValidator validator})
Creates a new CommentProvider.

Properties

comments → List<Comment>
The list of comments for this entity.
no setter
controller → CommentController
The controller for comment operations.
final
hashCode → int
The hash code for this object.
no setterinherited
hasListeners → bool
Whether any listeners are currently registered.
no setterinherited
inputController → TextEditingController
Text editing controller for the comment input field.
final
postId → String
The ID of the entity (post) this provider manages comments for.
final
replyingTo → Comment?
The comment that the user is currently replying to.
no setter
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
validator → CommentValidator
Validator for comment content.
final

Methods

addComment(String content) → Future<void>
Adds a new comment to the entity.
addListener(VoidCallback listener) → void
Register a closure to be called when the object changes.
inherited
deleteComment(String commentId) → Future<void>
Deletes a comment from the list.
deleteReply(String parentId, String replyId) → Future<void>
Deletes a reply from a parent comment.
dispose() → void
Discards any resources used by the object.
inherited
expandReplies(String commentId) → Future<void>
loadComments() → Future<void>
Loads comments for the entity.
loadMoreReplies(String commentId) → Future<void>
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
notifyListeners() → void
Call all the registered listeners.
inherited
removeListener(VoidCallback listener) → void
Remove a previously registered closure from the list of closures that are notified when the object changes.
inherited
replyTo(String entityId, String parentId, String content) → Future<void>
Adds a reply to a comment.
sendComment(CdxCommentsLocalizations loc, {required void onInputError(String)}) → void
Sends a comment or reply based on the current state.
setReplyTo(Comment? comment) → void
Sets the comment to reply to.
toggleLike(String commentId) → Future<void>
Toggles the like status of a comment.
toggleReplyLike(String parentId, String replyId) → Future<void>
Toggles the like status of a reply.
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited