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/cvetdv.ru/bitrix/js/im/v2/component/recent-list/src/ |
Upload File : |
import {EventEmitter} from 'main.core.events'; import {EventType} from 'im.v2.const'; export class DraftManager { static instance = null; store: Object = null; static init($Bitrix): void { if (this.instance) { return; } this.instance = new this($Bitrix); } constructor($Bitrix) { this.store = $Bitrix.Data.get('controller').store; this.initDraftHistory(); this.onSetDraftHandler = this.onSetDraft.bind(this); EventEmitter.subscribe(EventType.recent.setDraftMessage, this.onSetDraftHandler); } initDraftHistory() { const history = BX.MessengerProxy.getTextareaHistory(); Object.entries(history).forEach(([dialogId, text]) => { this.setDraftMessage(dialogId, text); }); } onSetDraft({data: {dialogId, text}}) { this.setDraftMessage(dialogId, text); } setDraftMessage(dialogId, text) { this.store.dispatch('recent/draft', { id: dialogId, text }); } destroy() { EventEmitter.unsubscribe(EventType.recent.setDraftMessage, this.onSetDraftHandler); } }