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

99 lines
3.1 KiB
JavaScript
Raw Normal View History

/* global APP, $ */
import UIUtil from "../../util/UIUtil";
import UIEvents from "../../../../service/UI/UIEvents";
import languages from "../../../../service/translation/languages";
2015-12-31 15:23:23 +00:00
import Settings from '../../../settings/Settings';
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
2015-12-31 15:23:23 +00:00
export default {
init (emitter) {
function update() {
let displayName = UIUtil.escapeHtml($('#setDisplayName').val());
2015-01-07 14:54:03 +00:00
2015-12-31 15:23:23 +00:00
if (displayName && Settings.getDisplayName() !== displayName) {
emitter.emit(UIEvents.NICKNAME_CHANGED, displayName);
}
2015-12-01 13:41:58 +00:00
2015-12-31 15:23:23 +00:00
let language = $("#languages_selectbox").val();
if (language !== Settings.getLanguage()) {
emitter.emit(UIEvents.LANG_CHANGED, language);
}
let email = UIUtil.escapeHtml($('#setEmail').val());
if (email !== Settings.getEmail()) {
emitter.emit(UIEvents.EMAIL_CHANGED, email);
}
2015-12-31 15:23:23 +00:00
let startAudioMuted = $("#startAudioMuted").is(":checked");
let startVideoMuted = $("#startVideoMuted").is(":checked");
if (startAudioMuted !== APP.conference.startAudioMuted
|| startVideoMuted !== APP.conference.startVideoMuted) {
emitter.emit(
UIEvents.START_MUTED_CHANGED,
startAudioMuted,
startVideoMuted
);
}
2015-05-19 15:03:01 +00:00
}
2015-12-31 15:23:23 +00:00
let startMutedBlock = $("#startMutedOptions");
startMutedBlock.before(generateLanguagesSelectBox());
APP.translation.translateElement($("#languages_selectbox"));
this.onRoleChanged();
this.onStartMutedChanged();
$("#updateSettings").click(update);
$('#settingsmenu>input').keyup(function(event){
if (event.keyCode === 13) {//enter
update();
}
});
},
2015-12-31 15:23:23 +00:00
onRoleChanged () {
2015-12-03 13:11:01 +00:00
if(APP.conference.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");
}
},
2015-12-31 15:23:23 +00:00
onStartMutedChanged () {
$("#startAudioMuted").attr("checked", APP.conference.startAudioMuted);
$("#startVideoMuted").attr("checked", APP.conference.startVideoMuted);
2015-01-07 14:54:03 +00:00
},
2015-12-31 15:23:23 +00:00
isVisible () {
2015-01-07 14:54:03 +00:00
return $('#settingsmenu').is(':visible');
},
2015-12-31 15:23:23 +00:00
onDisplayNameChange (id, newDisplayName) {
2015-12-01 13:41:58 +00:00
if(id === 'localVideoContainer' || APP.conference.isLocalId(id)) {
2015-12-31 15:23:23 +00:00
$('#setDisplayName').val(newDisplayName);
}
},
2015-12-31 15:23:23 +00:00
changeAvatar (thumbUrl) {
$('#avatar').attr('src', thumbUrl);
2015-01-07 14:54:03 +00:00
}
};