diff --git a/_locales/en/messages.json b/_locales/en/messages.json index bd42a611..66b175fc 100755 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -37,6 +37,9 @@ "deviceReady": { "message": "Device - Ready" }, + "savingDefaults": { + "message": "Device - Saving default settings" + }, "fcNotConnected": { "message": "Not connected" }, diff --git a/js/defaults_dialog.js b/js/defaults_dialog.js index 74cbf783..14288aed 100644 --- a/js/defaults_dialog.js +++ b/js/defaults_dialog.js @@ -2,6 +2,7 @@ 'use strict'; var helper = helper || {}; +var savingDefaultsModal; helper.defaultsDialog = (function () { @@ -694,6 +695,7 @@ helper.defaultsDialog = (function () { GUI.tab_switch_cleanup(function () { MSP.send_message(MSPCodes.MSP_SET_REBOOT, false, false, function () { //noinspection JSUnresolvedVariable + savingDefaultsModal.close(); GUI.log(chrome.i18n.getMessage('deviceRebooting')); GUI.handleReconnect(); }); @@ -705,13 +707,25 @@ helper.defaultsDialog = (function () { }; privateScope.onPresetClick = function (event) { + savingDefaultsModal = new jBox('Modal', { + width: 400, + height: 100, + animation: false, + closeOnClick: false, + closeOnEsc: false, + content: $('#modal-saving-defaults') + }).open(); + $container.hide(); + let selectedDefaultPreset = data[$(event.currentTarget).data("index")]; if (selectedDefaultPreset && selectedDefaultPreset.settings) { mspHelper.loadBfConfig(function () { privateScope.setFeaturesBits(selectedDefaultPreset) }); + } else { + savingDefaultsModal.close(); } }; diff --git a/main.css b/main.css index 80672514..e0fa2536 100644 --- a/main.css +++ b/main.css @@ -2155,6 +2155,16 @@ select { text-align: center; } +#modal-saving-defaults { + /* width: 100%; */ + height: 90px; + background: url(../images/loading-bars.svg) no-repeat center 100%; +} + +#modal-saving-defaults div { + text-align: center; +} + .subtab__header { padding: 0; height: auto; diff --git a/main.html b/main.html index 1b212c8d..b6cff39b 100755 --- a/main.html +++ b/main.html @@ -296,6 +296,9 @@ +