gui: Prevent modifications when saving changes (fixes #9019) (#9063)

This commit is contained in:
tomasz1986
2023-08-31 17:11:03 +02:00
committed by GitHub
parent 3e5f0b1d0e
commit 95b3c26da7
4 changed files with 16 additions and 1 deletions
+2
View File
@@ -325,6 +325,7 @@
"Revert": "Revert", "Revert": "Revert",
"Revert Local Changes": "Revert Local Changes", "Revert Local Changes": "Revert Local Changes",
"Save": "Save", "Save": "Save",
"Saving changes": "Saving changes",
"Scan Time Remaining": "Scan Time Remaining", "Scan Time Remaining": "Scan Time Remaining",
"Scanning": "Scanning", "Scanning": "Scanning",
"See external versioning help for supported templated command line parameters.": "See external versioning help for supported templated command line parameters.", "See external versioning help for supported templated command line parameters.": "See external versioning help for supported templated command line parameters.",
@@ -391,6 +392,7 @@
"Syncthing is listening on the following network addresses for connection attempts from other devices:": "Syncthing is listening on the following network addresses for connection attempts from other devices:", "Syncthing is listening on the following network addresses for connection attempts from other devices:": "Syncthing is listening on the following network addresses for connection attempts from other devices:",
"Syncthing is not listening for connection attempts from other devices on any address. Only outgoing connections from this device may work.": "Syncthing is not listening for connection attempts from other devices on any address. Only outgoing connections from this device may work.", "Syncthing is not listening for connection attempts from other devices on any address. Only outgoing connections from this device may work.": "Syncthing is not listening for connection attempts from other devices on any address. Only outgoing connections from this device may work.",
"Syncthing is restarting.": "Syncthing is restarting.", "Syncthing is restarting.": "Syncthing is restarting.",
"Syncthing is saving changes.": "Syncthing is saving changes.",
"Syncthing is upgrading.": "Syncthing is upgrading.", "Syncthing is upgrading.": "Syncthing is upgrading.",
"Syncthing now supports automatically reporting crashes to the developers. This feature is enabled by default.": "Syncthing now supports automatically reporting crashes to the developers. This feature is enabled by default.", "Syncthing now supports automatically reporting crashes to the developers. This feature is enabled by default.": "Syncthing now supports automatically reporting crashes to the developers. This feature is enabled by default.",
"Syncthing seems to be down, or there is a problem with your Internet connection. Retrying…": "Syncthing seems to be down, or there is a problem with your Internet connection. Retrying…", "Syncthing seems to be down, or there is a problem with your Internet connection. Retrying…": "Syncthing seems to be down, or there is a problem with your Internet connection. Retrying…",
+1
View File
@@ -978,6 +978,7 @@
<ng-include src="'syncthing/core/restartingDialogView.html'"></ng-include> <ng-include src="'syncthing/core/restartingDialogView.html'"></ng-include>
<ng-include src="'syncthing/core/upgradingDialogView.html'"></ng-include> <ng-include src="'syncthing/core/upgradingDialogView.html'"></ng-include>
<ng-include src="'syncthing/core/shutdownDialogView.html'"></ng-include> <ng-include src="'syncthing/core/shutdownDialogView.html'"></ng-include>
<ng-include src="'syncthing/core/savingChangesDialogView.html'"></ng-include>
<ng-include src="'syncthing/device/idqrModalView.html'"></ng-include> <ng-include src="'syncthing/device/idqrModalView.html'"></ng-include>
<ng-include src="'syncthing/device/editDeviceModalView.html'"></ng-include> <ng-include src="'syncthing/device/editDeviceModalView.html'"></ng-include>
<ng-include src="'syncthing/device/globalChangesModalView.html'"></ng-include> <ng-include src="'syncthing/device/globalChangesModalView.html'"></ng-include>
@@ -0,0 +1,8 @@
<modal id="savingChanges" status="info" icon="fas fa-hourglass-half" heading="{{'Saving changes' | translate}}" large="no" closeable="no">
<div class="modal-body">
<p>
<span translate>Syncthing is saving changes.</span>
<span translate>Please wait</span>...
</p>
</div>
</modal>
@@ -1513,13 +1513,17 @@ angular.module('syncthing.core')
}; };
$scope.saveConfig = function () { $scope.saveConfig = function () {
$('#savingChanges').modal();
var cfg = JSON.stringify($scope.config); var cfg = JSON.stringify($scope.config);
var opts = { var opts = {
headers: { headers: {
'Content-Type': 'application/json' 'Content-Type': 'application/json'
} }
}; };
return $http.put(urlbase + '/config', cfg, opts).finally(refreshConfig).catch($scope.emitHTTPError); return $http.put(urlbase + '/config', cfg, opts).finally(function () {
refreshConfig();
$('#savingChanges').modal("hide");
}).catch($scope.emitHTTPError);
}; };
$scope.urVersions = function () { $scope.urVersions = function () {