/** * Created by robert on 9/29/15. */ (function(){ var guiLangSelect = $("#gui_lang_select"); var previousLang = guiLangSelect.val(); var closedWithSave = false; guiLangSelect.on("change",function() { var lang = $("#gui_lang_select").val(); if (lang in codeq.supportedLangs) { codeq.setLang(lang); } }); $("#settings_save_btn").on("click", function() { closedWithSave = true; }); $("#settings_dropdown_menu").on("shown.bs.dropdown", function() { closedWithSave = false; previousLang = codeq.getLang(); }).on("hidden.bs.dropdown", function() { if(closedWithSave){ var lang = $("#gui_lang_select").val(); if (lang in codeq.supportedLangs) { codeq.comms.updateSettings({'gui_lang': lang}) .then(function (data) { if (data.code !== 0) throw new Error('Change language failed, code: ' + data.code + ', message: ' + data.message);//error msg if something went wring while saving to db }) .done(); } }else{ $("#gui_lang_select").val(previousLang); if (previousLang in codeq.supportedLangs) codeq.setLang(previousLang); } }); })();