in packages/chat-component-bindings/src/messageThreadSelector.ts [86:132]
url: extractAttachmentUrl(rawAttachment)
});
}
});
return {
attachments
};
};
/* @conditional-compile-remove(data-loss-prevention) */
const convertToUiBlockedMessage = (
message: ChatMessageWithStatus,
userId: string,
isSeen: boolean,
isLargeGroup: boolean
): BlockedMessage => {
const messageSenderId = message.sender !== undefined ? toFlatCommunicationIdentifier(message.sender) : userId;
return {
messageType: 'blocked',
createdOn: message.createdOn,
warningText: undefined,
status: !isLargeGroup && message.status === 'delivered' && isSeen ? 'seen' : message.status,
senderDisplayName: message.senderDisplayName,
senderId: messageSenderId,
messageId: message.id,
deletedOn: message.deletedOn,
mine: messageSenderId === userId,
link: DEFAULT_DATA_LOSS_PREVENTION_POLICY_URL
};
};
const extractAttachmentUrl = (attachment: ChatAttachment): string => {
return attachment.previewUrl ? attachment.previewUrl : attachment.url || '';
};
const processChatMessageContent = (message: ChatMessageWithStatus): string | undefined => {
let content = message.content?.message;
if (
message.content?.attachments &&
message.content?.attachments.length > 0 &&
sanitizedMessageContentType(message.type).includes('html')
) {
const attachments: ChatAttachment[] = message.content?.attachments;
// Fill in the src here
if (content) {
const document = new DOMParser().parseFromString(content ?? '', 'text/html');
document.querySelectorAll('img').forEach((img) => {