markInteracted static method
Future<void>
markInteracted(
- BaseInteractiveElement interactiveElement,
- InteractiveMessage message,
- Map<
String, bool?> interactionMap, { - required dynamic onSuccess(
- bool matched
- dynamic onError(
- CometChatException excep
Implementation
static Future<void> markInteracted(BaseInteractiveElement interactiveElement,
InteractiveMessage message, Map<String, bool?> interactionMap,
{required Function(bool matched) onSuccess,
Function(CometChatException excep)? onError}) async {
await CometChat.markAsInteracted(message.id, interactiveElement.elementId,
onSuccess: (String returnedString) {
interactionMap[interactiveElement.elementId] = true;
bool matched = false;
if (message.interactions != null && message.interactions!.isNotEmpty) {
for (int i = 0; i < message.interactions!.length; i++) {
if (message.interactions![i].elementId ==
interactiveElement.elementId) {
matched = true;
break;
}
}
} else {
message.interactions = [];
}
if (matched == false) {
message.interactions!.add(Interaction(
elementId: interactiveElement.elementId,
interactedAt: DateTime.now()));
interactionMap[interactiveElement.elementId] = true;
}
onSuccess(matched);
}, onError: (CometChatException excep) {
if (onError != null) onError(excep);
});
}