gui: Preserve folder-device info on folder edit (fixes #6706) (#6707)

This commit is contained in:
Simon Frei 2020-06-02 23:05:19 +02:00 committed by GitHub
parent 9ef17322be
commit 79bf1f1056
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 2 deletions

View File

@ -59,6 +59,7 @@ angular.module('syncthing.core')
} catch (exception) { }
$scope.folderDefaults = {
devices: [],
sharedDevices: {},
selectedDevices: {},
unrelatedDevices: {},
@ -1833,15 +1834,22 @@ angular.module('syncthing.core')
$scope.saveFolder = function () {
$('#editFolder').modal('hide');
var folderCfg = angular.copy($scope.currentFolder);
folderCfg.devices = [];
folderCfg.selectedDevices[$scope.myID] = true;
var newDevices = [];
folderCfg.devices.forEach(function (dev) {
if (folderCfg.selectedDevices[dev.deviceID] === true) {
newDevices.push(dev);
delete folderCfg.selectedDevices[dev.deviceID];
};
});
for (var deviceID in folderCfg.selectedDevices) {
if (folderCfg.selectedDevices[deviceID] === true) {
folderCfg.devices.push({
newDevices.push({
deviceID: deviceID
});
}
}
folderCfg.devices = newDevices;
delete folderCfg.sharedDevices;
delete folderCfg.selectedDevices;
delete folderCfg.unrelatedDevices;