diff options
Diffstat (limited to 'js/codeq/settings.js')
-rw-r--r-- | js/codeq/settings.js | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/js/codeq/settings.js b/js/codeq/settings.js index 5b57c49..f0e7ff0 100644 --- a/js/codeq/settings.js +++ b/js/codeq/settings.js @@ -8,15 +8,23 @@ jqDisabledOverlay = $('#disabled'), jqSettForm = $("#settingsForm"), jqSettCancelBtn = $("#settings_cancel_btn"), - jqScreenSettings = $('#screen_settings'); + jqScreenSettings = $('#screen_settings'), + jqLayoutSelect = $('#gui_layout_select'); + + codeq.on('layoutchange', function(){ + $("#screen_prolog").removeClass(codeq.supportedLayouts.join(" ")).addClass(codeq.getLayout()); + $("#screen_python").removeClass(codeq.supportedLayouts.join(" ")).addClass(codeq.getLayout()); + }); 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']; + var previousLayout = codeq.settings['gui_layout']; jqSettForm.on("submit", function(e) { codeq.settings['robot_address'] = robotAddressInput.val(); + codeq.log.debug("settings for update:"+JSON.stringify(codeq.settings)); codeq.comms.updateSettings(codeq.settings) .then(function (data) { if (data.code !== 0) { @@ -32,6 +40,8 @@ e.preventDefault(); }); jqSettCancelBtn.on("click",function(){ + jqLayoutSelect.val(previousLayout); + if ($.inArray(previousLayout, codeq.supportedLayouts) >= 0) codeq.setLayout(previousLayout); guiLangSelect.val(previousGuiLang); if (previousGuiLang in codeq.supportedLangs) codeq.setLang(previousGuiLang); history.back(); @@ -42,6 +52,14 @@ codeq.setLang(lang); } }); + jqLayoutSelect.on("change",function(){ + jqDisabledOverlay.css('display', ''); + var newLayout = jqLayoutSelect.val(); + if ($.inArray(newLayout, codeq.supportedLayouts) >= 0){ + codeq.setLayout(newLayout); + } + jqDisabledOverlay.css('display', 'none'); + }); jqScreenSettings.css('display', ''); jqDisabledOverlay.css('display', 'none'); }, |