The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/app/utils/lib/roomExit.js

43 lines
1.2 KiB

import { Blaze } from 'meteor/blaze';
import { BlazeLayout } from 'meteor/kadira:blaze-layout';
import { callbacks } from '../../callbacks';
export const roomExit = function() {
// 7370 - Close flex-tab when opening a room on mobile UI
if (window.matchMedia('(max-width: 500px)').matches) {
const flex = document.querySelector('.flex-tab');
if (flex) {
const templateData = Blaze.getData(flex);
templateData && templateData.tabBar && templateData.tabBar.close();
}
}
callbacks.run('roomExit');
BlazeLayout.render('main', {
center: 'none',
});
if (typeof window.currentTracker !== 'undefined') {
window.currentTracker.stop();
}
const mainNode = document.querySelector('.main-content');
if (mainNode == null) {
return;
}
return Array.from(mainNode.children).forEach((child) => {
if (child == null) {
return;
}
if (child.classList.contains('room-container')) {
const wrapper = child.querySelector('.messages-box > .wrapper');
if (wrapper) {
if (wrapper.scrollTop >= wrapper.scrollHeight - wrapper.clientHeight) {
child.oldScrollTop = 10e10;
} else {
child.oldScrollTop = wrapper.scrollTop;
}
}
}
mainNode.removeChild(child);
});
};