message_parser: Directly use message content to check property.

This will allow us to use these functions in message events where
the full message object is not available.
This commit is contained in:
Aman Agrawal
2024-09-09 06:58:29 +00:00
committed by Tim Abbott
parent d6cad7c018
commit c653508aa5
3 changed files with 13 additions and 13 deletions

View File

@@ -8,20 +8,20 @@ import type {Message} from "./message_store";
// important because $("Text <a>link</a>").find("a") returns nothing;
// one needs an outer element wrapping an object to use this
// construction.
function is_element_in_message_content(message: Message, element_selector: string): boolean {
return $(`<div>${message.content}</div>`).find(element_selector).length > 0;
function is_element_in_message_content(message_content: string, element_selector: string): boolean {
return $(`<div>${message_content}</div>`).find(element_selector).length > 0;
}
export function message_has_link(message: Message): boolean {
return is_element_in_message_content(message, "a");
export function message_has_link(message_content: string): boolean {
return is_element_in_message_content(message_content, "a");
}
export function message_has_image(message: Message): boolean {
return is_element_in_message_content(message, ".message_inline_image");
export function message_has_image(message_content: string): boolean {
return is_element_in_message_content(message_content, ".message_inline_image");
}
export function message_has_attachment(message: Message): boolean {
return is_element_in_message_content(message, "a[href^='/user_uploads']");
export function message_has_attachment(message_content: string): boolean {
return is_element_in_message_content(message_content, "a[href^='/user_uploads']");
}
export function message_has_reaction(message: Message): boolean {