jiti-meet/settings_menu.js

84 lines
2.4 KiB
JavaScript
Raw Normal View History

var SettingsMenu = (function(my) {
var email = '';
var displayName = '';
var userId;
if(supportsLocalStorage()) {
if(!window.localStorage.jitsiMeetId) {
window.localStorage.jitsiMeetId = generateUniqueId();
console.log("generated id", window.localStorage.jitsiMeetId);
}
userId = window.localStorage.jitsiMeetId || '';
email = window.localStorage.email || '';
displayName = window.localStorage.displayname || '';
} else {
console.log("local storage is not supported");
userId = generateUniqueId();
}
my.update = function() {
var newDisplayName = Util.escapeHtml($('#setDisplayName').get(0).value);
if(newDisplayName) {
displayName = newDisplayName;
connection.emuc.addDisplayNameToPresence(displayName);
window.localStorage.displayname = displayName;
}
var newEmail = Util.escapeHtml($('#setEmail').get(0).value);
connection.emuc.addEmailToPresence(newEmail);
email = newEmail;
window.localStorage.email = newEmail;
connection.emuc.sendPresence();
Avatar.setUserAvatar(connection.emuc.myroomjid, email);
};
my.isVisible = function() {
return $('#settingsmenu').is(':visible');
};
my.getUID = function() {
return userId;
};
my.getEmail = function() {
return email;
};
my.getDisplayName = function() {
return displayName;
};
my.setDisplayName = function(newDisplayName) {
displayName = newDisplayName;
window.localStorage.displayname = displayName;
$('#setDisplayName').get(0).value = displayName;
};
function supportsLocalStorage() {
try {
return 'localStorage' in window && window.localStorage !== null;
} catch (e) {
console.log("localstorage is not supported");
return false;
}
}
function generateUniqueId() {
function _p8() {
return (Math.random().toString(16)+"000000000").substr(2,8);
}
return _p8() + _p8() + _p8() + _p8();
}
$(document).bind('displaynamechanged', function(event, peerJid, newDisplayName) {
if(peerJid === 'localVideoContainer' ||
peerJid === connection.emuc.myroomjid) {
SettingsMenu.setDisplayName(newDisplayName);
}
});
return my;
}(SettingsMenu || {}));