Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/rospirotorg.ru/bitrix/js/im/event-handler/src/ |
Upload File : |
import { EventEmitter } from "main.core.events"; import { EventType } from "im.const"; export class QuoteHandler { constructor($Bitrix) { this.store = $Bitrix.Data.get('controller').store; this.onQuoteMessageHandler = this.onQuoteMessage.bind(this); this.onQuotePanelCloseHandler = this.onQuotePanelClose.bind(this); EventEmitter.subscribe(EventType.dialog.quoteMessage, this.onQuoteMessageHandler); EventEmitter.subscribe(EventType.dialog.quotePanelClose, this.onQuotePanelCloseHandler); } onQuoteMessage({data}) { this.quoteMessage(data.message.id); } onQuotePanelClose() { this.clearQuote(); } quoteMessage(messageId) { this.store.dispatch('dialogues/update', { dialogId: this.getDialogId(), fields: { quoteId: messageId } }); } clearQuote() { this.store.dispatch('dialogues/update', { dialogId: this.getDialogId(), fields: { quoteId: 0 } }); } getDialogId(): number | string { return this.store.state.application.dialog.dialogId; } destroy() { EventEmitter.unsubscribe(EventType.dialog.quoteMessage, this.onQuoteMessageHandler); EventEmitter.unsubscribe(EventType.dialog.quotePanelClose, this.onQuotePanelCloseHandler); } }