/** * Created by robert on 9/29/15. */ (function(){ var guiLangSelect = $('#gui_lang_select'), robotAddressInput = $('#robot_address_input'), previousGuiLang = guiLangSelect.val(), previousRobotAddress = robotAddressInput.val(), closedWithSave = false; guiLangSelect.on("change",function() { var lang = guiLangSelect.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; previousGuiLang = codeq.settings['gui_lang']; previousRobotAddress = robotAddressInput.val(); }).on("hidden.bs.dropdown", function() { if(closedWithSave){ var guiLang = guiLangSelect.val(), newSettings = {'robot_address': robotAddressInput.val()}; if (guiLang in codeq.supportedLangs) { newSettings['gui_lang'] = guiLang; } codeq.comms.updateSettings(newSettings) .then(function (data) { if (data.code !== 0) { throw new Error('Updating settings failed, code: ' + data.code + ', message: ' + data.message); } }) .done(); }else{ guiLangSelect.val(previousGuiLang); if (previousGuiLang in codeq.supportedLangs) codeq.setLang(previousGuiLang); robotAddressInput.val(previousRobotAddress); } }); })();