jiti-meet/modules/UI/side_pannels/settings/SettingsMenu.js

79 lines
2.3 KiB
JavaScript
Raw Normal View History

2015-01-07 14:54:03 +00:00
var Avatar = require("../../avatar/Avatar");
2015-02-13 09:38:37 +00:00
var Settings = require("./../../../settings/Settings");
2015-01-23 12:01:44 +00:00
var UIUtil = require("../../util/UIUtil");
var languages = require("../../../../service/translation/languages");
function generateLanguagesSelectBox()
{
var currentLang = APP.translation.getCurrentLanguage();
var html = "<select id=\"languages_selectbox\">";
var langArray = languages.getLanguages();
for(var i = 0; i < langArray.length; i++)
{
var lang = langArray[i];
html += "<option ";
if(lang === currentLang)
html += "selected ";
html += "value=\"" + lang + "\" data-i18n='languages:" + lang + "'>";
html += "</option>";
}
return html + "</select>";
}
2015-01-07 14:54:03 +00:00
var SettingsMenu = {
init: function () {
$("#updateSettings").before(generateLanguagesSelectBox());
$('#settingsmenu>input').keyup(function(event){
if(event.keyCode === 13) {//enter
SettingsMenu.update();
}
});
$("#updateSettings").click(function () {
SettingsMenu.update();
});
},
2015-01-07 14:54:03 +00:00
update: function() {
2015-01-23 12:01:44 +00:00
var newDisplayName = UIUtil.escapeHtml($('#setDisplayName').get(0).value);
var newEmail = UIUtil.escapeHtml($('#setEmail').get(0).value);
2015-01-07 14:54:03 +00:00
if(newDisplayName) {
var displayName = Settings.setDisplayName(newDisplayName);
APP.xmpp.addToPresence("displayName", displayName, true);
2015-01-07 14:54:03 +00:00
}
var language = $("#languages_selectbox").val();
APP.translation.setLanguage(language);
Settings.setLanguage(language);
2015-01-07 14:54:03 +00:00
APP.xmpp.addToPresence("email", newEmail);
2015-01-07 14:54:03 +00:00
var email = Settings.setEmail(newEmail);
Avatar.setUserAvatar(APP.xmpp.myJid(), email);
2015-01-07 14:54:03 +00:00
},
isVisible: function() {
return $('#settingsmenu').is(':visible');
},
setDisplayName: function(newDisplayName) {
var displayName = Settings.setDisplayName(newDisplayName);
$('#setDisplayName').get(0).value = displayName;
},
onDisplayNameChange: function(peerJid, newDisplayName) {
if(peerJid === 'localVideoContainer' ||
peerJid === APP.xmpp.myJid()) {
this.setDisplayName(newDisplayName);
}
2015-01-07 14:54:03 +00:00
}
};
module.exports = SettingsMenu;