send_message_ok
This commit is contained in:
parent
1767fd60a5
commit
208dc5343e
@ -281,8 +281,29 @@ class SignatureElement extends HTMLElement {
|
|||||||
this.notificationBoard.style.display = 'none';
|
this.notificationBoard.style.display = 'none';
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
this.initMessageEvents();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private initMessageEvents() {
|
||||||
|
// Pour le bouton Send
|
||||||
|
const sendButton = document.getElementById('send-button');
|
||||||
|
if (sendButton) {
|
||||||
|
sendButton.addEventListener('click', () => this.sendMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
// Pour la touche Entrée
|
||||||
|
const messageInput = document.getElementById('message-input');
|
||||||
|
if (messageInput) {
|
||||||
|
messageInput.addEventListener('keypress', (event: KeyboardEvent) => {
|
||||||
|
if (event.key === 'Enter' && !event.shiftKey) {
|
||||||
|
event.preventDefault();
|
||||||
|
this.sendMessage();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private calculateDuration(startDate: string | null | undefined, endDate: string | null | undefined): number {
|
private calculateDuration(startDate: string | null | undefined, endDate: string | null | undefined): number {
|
||||||
const start = new Date(startDate || '');
|
const start = new Date(startDate || '');
|
||||||
const end = new Date(endDate || '');
|
const end = new Date(endDate || '');
|
||||||
@ -388,44 +409,44 @@ class SignatureElement extends HTMLElement {
|
|||||||
this.renderNotifications();
|
this.renderNotifications();
|
||||||
this.updateNotificationBadge();
|
this.updateNotificationBadge();
|
||||||
}
|
}
|
||||||
// Send a messsage
|
// Send a messsage
|
||||||
private sendMessage() {
|
private sendMessage() {
|
||||||
const messageInput = document.getElementById('message-input') as HTMLInputElement;
|
const messageInput = document.getElementById('message-input') as HTMLInputElement;
|
||||||
if (!messageInput) return;
|
if (!messageInput) return;
|
||||||
const messageText = messageInput.value.trim();
|
const messageText = messageInput.value.trim();
|
||||||
|
|
||||||
if (messageText === '' || this.selectedMemberId === null) {
|
if (messageText === '' || this.selectedMemberId === null) {
|
||||||
return;
|
return;
|
||||||
}
|
|
||||||
|
|
||||||
const newMessage: Message = {
|
|
||||||
id: Date.now(),
|
|
||||||
sender: "4NK",
|
|
||||||
text: messageText,
|
|
||||||
time: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }),
|
|
||||||
type: 'text' as const
|
|
||||||
};
|
|
||||||
|
|
||||||
// Add and display the message immediately
|
|
||||||
messageStore.addMessage(this.selectedMemberId, newMessage);
|
|
||||||
this.messagesMock = messageStore.getMessages();
|
|
||||||
this.loadMemberChat(this.selectedMemberId);
|
|
||||||
|
|
||||||
// Reset the input
|
|
||||||
messageInput.value = '';
|
|
||||||
|
|
||||||
// Automatic response after 2 seconds
|
|
||||||
setTimeout(() => {
|
|
||||||
if (this.selectedMemberId) {
|
|
||||||
const autoReply = this.generateAutoReply(`Member ${this.selectedMemberId}`);
|
|
||||||
messageStore.addMessage(this.selectedMemberId, autoReply);
|
|
||||||
this.messagesMock = messageStore.getMessages();
|
|
||||||
this.loadMemberChat(this.selectedMemberId);
|
|
||||||
this.addNotification(this.selectedMemberId, autoReply);
|
|
||||||
}
|
|
||||||
}, 2000);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const newMessage: Message = {
|
||||||
|
id: Date.now(),
|
||||||
|
sender: "4NK",
|
||||||
|
text: messageText,
|
||||||
|
time: new Date().toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }),
|
||||||
|
type: 'text' as const
|
||||||
|
};
|
||||||
|
// Add and display the message immediately
|
||||||
|
messageStore.addMessage(this.selectedMemberId, newMessage);
|
||||||
|
this.messagesMock = messageStore.getMessages();
|
||||||
|
this.loadMemberChat(this.selectedMemberId);
|
||||||
|
|
||||||
|
// Reset the input
|
||||||
|
messageInput.value = '';
|
||||||
|
|
||||||
|
// Automatic response after 2 seconds
|
||||||
|
setTimeout(() => {
|
||||||
|
if (this.selectedMemberId) {
|
||||||
|
const autoReply = this.generateAutoReply(`Member ${this.selectedMemberId}`);
|
||||||
|
messageStore.addMessage(this.selectedMemberId, autoReply);
|
||||||
|
this.messagesMock = messageStore.getMessages();
|
||||||
|
this.loadMemberChat(this.selectedMemberId);
|
||||||
|
this.addNotification(this.selectedMemberId, autoReply);
|
||||||
|
}
|
||||||
|
}, 2000);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
private showProcessDetails(group: Group, groupId: number) {
|
private showProcessDetails(group: Group, groupId: number) {
|
||||||
console.log('Showing details for group:', groupId);
|
console.log('Showing details for group:', groupId);
|
||||||
|
|
||||||
@ -1756,9 +1777,8 @@ class SignatureElement extends HTMLElement {
|
|||||||
|
|
||||||
const messageInput = this.shadowRoot?.querySelector('#message-input');
|
const messageInput = this.shadowRoot?.querySelector('#message-input');
|
||||||
if (messageInput) {
|
if (messageInput) {
|
||||||
messageInput.addEventListener('keydown', (event: Event) => {
|
messageInput.addEventListener('keypress', (event: Event) => {
|
||||||
const keyEvent = event as KeyboardEvent;
|
if ((event as KeyboardEvent).key === 'Enter') {
|
||||||
if (keyEvent.key === 'Enter') {
|
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
this.sendMessage();
|
this.sendMessage();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user