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/ilovecveti.ru/bitrix/js/im/mixin/src/dialog/ |
Upload File : |
import { EventEmitter } from 'main.core.events'; import { EventType, RestMethod } from "im.const"; //openDialog is in dialogCore export const DialogClickOnChatTeaser = { created() { EventEmitter.subscribe(EventType.dialog.clickOnChatTeaser, this.onClickOnChatTeaser); }, beforeDestroy() { EventEmitter.unsubscribe(EventType.dialog.clickOnChatTeaser, this.onClickOnChatTeaser); }, methods: { onClickOnChatTeaser({data: event}) { this.joinParentChat(event.message.id, 'chat'+event.message.params.CHAT_ID).then((dialogId) => { this.openDialog(dialogId); }).catch(() => {}); return true; }, joinParentChat(messageId, dialogId) { return new Promise((resolve, reject) => { if (!messageId || !dialogId) { return reject(); } if (typeof this.tempJoinChat === 'undefined') { this.tempJoinChat = {}; } else if (this.tempJoinChat['wait']) { return reject(); } this.tempJoinChat['wait'] = true; this.getRestClient().callMethod(RestMethod.imChatParentJoin, { 'DIALOG_ID': dialogId, 'MESSAGE_ID': messageId }).then(() => { this.tempJoinChat['wait'] = false; this.tempJoinChat[dialogId] = true; return resolve(dialogId); }).catch(() => { this.tempJoinChat['wait'] = false; return reject(); }); }); } } };