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 {Type} from 'main.core'; import {Utils} from 'im.v2.lib.utils'; export class BroadcastManager extends EventEmitter { static instance = null; static channelName = 'im-recent'; static eventNamespace = 'BX.Messenger.v2.Recent.BroadcastManager'; static events = { recentListUpdate: 'recentListUpdate' }; static getInstance() { if (!this.instance) { this.instance = new this(); } return this.instance; } constructor() { super(); this.setEventNamespace(BroadcastManager.eventNamespace); this.init(); } isSupported() { return !Type.isUndefined(window.BroadcastChannel) && !Utils.platform.isBitrixDesktop(); } init() { if (!this.isSupported()) { return; } this.channel = new BroadcastChannel(BroadcastManager.channelName); this.channel.addEventListener('message', ({data: {type, data}}) => { this.emit(type, data); }); } sendRecentList(recentData: Object) { if (!this.isSupported()) { return; } this.channel.postMessage({ type: BroadcastManager.events.recentListUpdate, data: recentData }); } }