/** * Created by robert on 9/29/15. */ (function(){ var guiLangSelect = $('#gui_lang_select'), robotAddressInput = $('#robot_address_input'), jqDisabledOverlay = $('#disabled'), jqSettForm = $("#settingsForm"), jqSettCancelBtn = $("#settings_cancel_btn"), jqScreenSettings = $('#screen_settings'); codeq.globalStateMachine.register('settings',{ 'enter':function(){ jqDisabledOverlay.css('display', ''); robotAddressInput.val(codeq.settings['robot_address']);//set the robot address once we enter the state var previousGuiLang = codeq.settings['gui_lang']; jqSettForm.on("submit", function() { codeq.settings['robot_address'] = robotAddressInput.val(); codeq.comms.updateSettings(codeq.settings) .then(function (data) { if (data.code !== 0) { throw new Error('Updating settings failed, code: ' + data.code + ', message: ' + data.message); } }) .done(); history.back(); return false; }); jqSettCancelBtn.on("click",function(){ guiLangSelect.val(previousGuiLang); if (previousGuiLang in codeq.supportedLangs) codeq.setLang(previousGuiLang); history.back(); }); guiLangSelect.on("change",function() { var lang = guiLangSelect.val(); if (lang in codeq.supportedLangs) { codeq.setLang(lang); } }); jqScreenSettings.css('display', ''); jqDisabledOverlay.css('display', 'none'); }, 'exit':function(){ jqSettForm.off('submit'); jqSettCancelBtn.off('click'); guiLangSelect.off('select'); robotAddressInput.val(''); jqScreenSettings.css('display', 'none'); } }); })();