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

108 lines
3.3 KiB
JavaScript
Raw Normal View History

/* global APP, $ */
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 () {
var startMutedSelector = $("#startMutedOptions");
startMutedSelector.before(generateLanguagesSelectBox());
APP.translation.translateElement($("#languages_selectbox"));
$('#settingsmenu>input').keyup(function(event){
if(event.keyCode === 13) {//enter
SettingsMenu.update();
}
});
if (APP.xmpp.isModerator()) {
startMutedSelector.css("display", "block");
2015-05-19 15:03:01 +00:00
}
else {
startMutedSelector.css("display", "none");
2015-05-19 15:03:01 +00:00
}
$("#updateSettings").click(function () {
SettingsMenu.update();
});
},
2015-05-19 15:03:01 +00:00
onRoleChanged: function () {
if(APP.xmpp.isModerator()) {
2015-05-19 15:03:01 +00:00
$("#startMutedOptions").css("display", "block");
}
else {
2015-05-19 15:03:01 +00:00
$("#startMutedOptions").css("display", "none");
}
},
setStartMuted: function (audio, video) {
$("#startAudioMuted").attr("checked", audio);
$("#startVideoMuted").attr("checked", video);
},
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);
2015-05-19 15:03:01 +00:00
var startAudioMuted = ($("#startAudioMuted").is(":checked"));
var startVideoMuted = ($("#startVideoMuted").is(":checked"));
APP.xmpp.addToPresence("startMuted",
[startAudioMuted, startVideoMuted]);
2015-01-07 14:54:03 +00:00
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);
}
},
changeAvatar: function (thumbUrl) {
$('#avatar').get(0).src = thumbUrl;
2015-01-07 14:54:03 +00:00
}
};
module.exports = SettingsMenu;