FormMessage.fromInteractiveMessage constructor
FormMessage.fromInteractiveMessage(
- InteractiveMessage message
Implementation
factory FormMessage.fromInteractiveMessage(InteractiveMessage message) {
List<ElementEntity> elementList = [];
ButtonElement? submitElement;
if (message.interactiveData[ModelFieldConstants.formFields] != null) {
for (var element in (message
.interactiveData[ModelFieldConstants.formFields] as List)) {
elementList.add(ElementEntity.fromMap(element));
}
}
if (message.interactiveData[ModelFieldConstants.submitElement] != null) {
submitElement = ButtonElement.fromMap(
message.interactiveData[ModelFieldConstants.submitElement]);
} else {
submitElement = ButtonElement(
elementType: UIElementTypeConstants.button,
elementId: "xxx1234xxx",
buttonText: "Not found");
}
return FormMessage(
id: message.id,
receiverType: message.receiverType,
tags: message.tags,
muid: message.muid,
sender: message.sender,
receiver: message.sender,
receiverUid: message.receiverUid,
type: message.type,
category: message.category,
sentAt: message.sentAt,
deliveredAt: message.deliveredAt,
readAt: message.readAt,
metadata: message.metadata,
readByMeAt: message.readByMeAt,
deliveredToMeAt: message.deliveredToMeAt,
deletedAt: message.deletedAt,
editedAt: message.editedAt,
deletedBy: message.deletedBy,
editedBy: message.editedBy,
updatedAt: message.updatedAt,
conversationId: message.conversationId,
parentMessageId: message.parentMessageId,
replyCount: message.replyCount,
title: message.interactiveData[ModelFieldConstants.title] ?? "",
goalCompletionText:
message.interactiveData[ModelFieldConstants.goalCompletionText],
formFields: elementList,
submitElement: submitElement,
interactionGoal: message.interactionGoal,
interactions: message.interactions,
allowSenderInteraction: message.allowSenderInteraction);
}