Moved replay to custom event
This commit is contained in:
		
							parent
							
								
									70eebefac7
								
							
						
					
					
						commit
						3e2dd7ea04
					
				| @ -9,6 +9,13 @@ import {app} from "./app.js"; | ||||
| 
 | ||||
| const LONG_TIME = 1000 * 60 * 20 | ||||
| 
 | ||||
| export class ReplyEvent extends Event { | ||||
|     constructor(messageTextTarget) { | ||||
|         super('reply', { bubbles: true, composed: true }); | ||||
|         this.messageTextTarget = messageTextTarget; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| class MessageElement extends HTMLElement { | ||||
|   // static observedAttributes = ['data-uid', 'data-color', 'data-channel_uid', 'data-user_nick', 'data-created_at', 'data-user_uid'];
 | ||||
| 
 | ||||
| @ -51,6 +58,12 @@ class MessageElement extends HTMLElement { | ||||
|       } | ||||
| 
 | ||||
|       this.timeDiv = this.querySelector('.time span'); | ||||
|       this.replyDiv = this.querySelector('.time a'); | ||||
| 
 | ||||
|         this.replyDiv.addEventListener('click', (e) => { | ||||
|           e.preventDefault(); | ||||
|           this.dispatchEvent(new ReplyEvent(this.messageDiv)); | ||||
|         }) | ||||
|     } | ||||
| 
 | ||||
|     if (!this.siblingGenerated && this.nextElementSibling) { | ||||
|  | ||||
| @ -143,15 +143,9 @@ function replyMessage(message) { | ||||
|     chatInputField.focus(); | ||||
| } | ||||
| 
 | ||||
| messagesContainer.addEventListener("click", (e) => { | ||||
|     if (e.target.tagName === "A" && e.target.getAttribute("href") === "#reply") { | ||||
|         e.preventDefault(); | ||||
|         const messageElement = e.target.closest("chat-message"); | ||||
|         if (messageElement) { | ||||
|             const messageText = messageElement.querySelector(".text").textContent.trim(); | ||||
| messagesContainer.addEventListener("reply", (e) => { | ||||
|     const messageText = e.messageTextTarget.textContent.trim(); | ||||
|     replyMessage(messageText); | ||||
|         } | ||||
|     } | ||||
| }) | ||||
| 
 | ||||
| // --- Mention helpers --- | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 BordedDev
						BordedDev