summaryrefslogtreecommitdiff
path: root/js/codeq
diff options
context:
space:
mode:
Diffstat (limited to 'js/codeq')
-rw-r--r--js/codeq/aaiLogin.js1
-rw-r--r--js/codeq/navigation.js4
-rw-r--r--js/codeq/settings.js75
-rw-r--r--js/codeq/translation.js3
4 files changed, 53 insertions, 30 deletions
diff --git a/js/codeq/aaiLogin.js b/js/codeq/aaiLogin.js
index 74a9ee4..2e49138 100644
--- a/js/codeq/aaiLogin.js
+++ b/js/codeq/aaiLogin.js
@@ -36,6 +36,7 @@
.fail(function(reason){
codeq.log.error('SAML login failed: ' + reason);
alert('SAML login failed: ' + reason);
+ codeq.globalStateMachine.transition('login');
})
.done();
diff --git a/js/codeq/navigation.js b/js/codeq/navigation.js
index 5dbbf1e..9483e05 100644
--- a/js/codeq/navigation.js
+++ b/js/codeq/navigation.js
@@ -130,5 +130,9 @@
codeq.globalStateMachine.transition('changePassword');
e.preventDefault();//prevent this since we'll trigger a page reload otherwise
});
+ $('#settingsTrigger').on('click',function(e){
+ codeq.globalStateMachine.transition('settings');
+ e.preventDefault();
+ });
})();
diff --git a/js/codeq/settings.js b/js/codeq/settings.js
index dd844a5..5b57c49 100644
--- a/js/codeq/settings.js
+++ b/js/codeq/settings.js
@@ -5,37 +5,52 @@
var guiLangSelect = $('#gui_lang_select'),
robotAddressInput = $('#robot_address_input'),
- previousGuiLang = guiLangSelect.val(),
- closedWithSave = false;
+ jqDisabledOverlay = $('#disabled'),
+ jqSettForm = $("#settingsForm"),
+ jqSettCancelBtn = $("#settings_cancel_btn"),
+ jqScreenSettings = $('#screen_settings');
- 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'];
- }).on("hidden.bs.dropdown", function() {
- if(closedWithSave){
- 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();
- }else{
- guiLangSelect.val(previousGuiLang);
- if (previousGuiLang in codeq.supportedLangs) codeq.setLang(previousGuiLang);
- robotAddressInput.val(codeq.settings['robot_address']);
+ 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(e) {
+ 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);
+ }
+ history.back();
+ })
+ .fail(function(reason){
+ codeq.log.error('Settings update failed: ' + reason);
+ alert('Settings update failed: ' + reason);
+ })
+ .done();
+ e.preventDefault();
+ });
+ 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');
}
});
})();
diff --git a/js/codeq/translation.js b/js/codeq/translation.js
index f0c8aab..1e85273 100644
--- a/js/codeq/translation.js
+++ b/js/codeq/translation.js
@@ -57,6 +57,9 @@
$('[data-tkey-value]').each(function () {
translateElement($(this), 'tkey-value', lang);
});
+ $('[data-tkey-data-content]').each(function () {
+ translateElement($(this), 'tkey-data-content', lang);
+ });
};
// Translate the whole document when the user switches the display language