@@ -122,6 +122,7 @@ angular.module('syncthing.core')
|
|||||||
refreshSystem();
|
refreshSystem();
|
||||||
refreshDiscoveryCache();
|
refreshDiscoveryCache();
|
||||||
refreshConfig();
|
refreshConfig();
|
||||||
|
refreshCluster();
|
||||||
refreshConnectionStats();
|
refreshConnectionStats();
|
||||||
refreshDeviceStats();
|
refreshDeviceStats();
|
||||||
refreshFolderStats();
|
refreshFolderStats();
|
||||||
@@ -244,32 +245,69 @@ angular.module('syncthing.core')
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$scope.$on(Events.DEVICE_REJECTED, function (event, arg) {
|
$scope.$on(Events.PENDING_DEVICES_CHANGED, function (event, arg) {
|
||||||
var pendingDevice = {
|
if (!(arg.data.added || arg.data.removed)) {
|
||||||
time: arg.time,
|
// Not enough information to update in place, just refresh it completely
|
||||||
name: arg.data.name,
|
refreshCluster();
|
||||||
address: arg.data.address
|
return;
|
||||||
};
|
}
|
||||||
console.log("rejected device:", arg.data.device, pendingDevice);
|
|
||||||
|
|
||||||
$scope.pendingDevices[arg.data.device] = pendingDevice;
|
if (arg.data.added) {
|
||||||
|
arg.data.added.forEach(function (rejected) {
|
||||||
|
var pendingDevice = {
|
||||||
|
time: arg.time,
|
||||||
|
name: rejected.name,
|
||||||
|
address: rejected.address
|
||||||
|
};
|
||||||
|
console.log("rejected device:", rejected.deviceID, pendingDevice);
|
||||||
|
$scope.pendingDevices[rejected.deviceID] = pendingDevice;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (arg.data.removed) {
|
||||||
|
arg.data.removed.forEach(function (dev) {
|
||||||
|
console.log("no longer pending device:", dev.deviceID);
|
||||||
|
delete $scope.pendingDevices[dev.deviceID];
|
||||||
|
});
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$scope.$on(Events.FOLDER_REJECTED, function (event, arg) {
|
$scope.$on(Events.PENDING_FOLDERS_CHANGED, function (event, arg) {
|
||||||
var offeringDevice = {
|
if (!(arg.data.added || arg.data.removed)) {
|
||||||
time: arg.time,
|
// Not enough information to update in place, just refresh it completely
|
||||||
label: arg.data.folderLabel
|
refreshCluster();
|
||||||
};
|
return;
|
||||||
console.log("rejected folder", arg.data.folder, "from device:", arg.data.device, offeringDevice);
|
}
|
||||||
|
|
||||||
var pendingFolder = $scope.pendingFolders[arg.data.folder];
|
if (arg.data.added) {
|
||||||
if (pendingFolder === undefined) {
|
arg.data.added.forEach(function (rejected) {
|
||||||
pendingFolder = {
|
var offeringDevice = {
|
||||||
offeredBy: {}
|
time: arg.time,
|
||||||
};
|
label: rejected.folderLabel
|
||||||
|
};
|
||||||
|
console.log("rejected folder", rejected.folderID, "from device:", rejected.deviceID, offeringDevice);
|
||||||
|
|
||||||
|
var pendingFolder = $scope.pendingFolders[rejected.folderID];
|
||||||
|
if (pendingFolder === undefined) {
|
||||||
|
pendingFolder = {
|
||||||
|
offeredBy: {}
|
||||||
|
};
|
||||||
|
}
|
||||||
|
pendingFolder.offeredBy[rejected.deviceID] = offeringDevice;
|
||||||
|
$scope.pendingFolders[rejected.folderID] = pendingFolder;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
if (arg.data.removed) {
|
||||||
|
arg.data.removed.forEach(function (folderDev) {
|
||||||
|
console.log("no longer pending folder", folderDev.folderID, "from device:", folderDev.deviceID);
|
||||||
|
if (folderDev.deviceID === undefined) {
|
||||||
|
delete $scope.pendingFolders[folderDev.folderID];
|
||||||
|
} else if ($scope.pendingFolders[folderDev.folderID]) {
|
||||||
|
delete $scope.pendingFolders[folderDev.folderID].offeredBy[folderDev.deviceID];
|
||||||
|
}
|
||||||
|
});
|
||||||
}
|
}
|
||||||
pendingFolder.offeredBy[arg.data.device] = offeringDevice;
|
|
||||||
$scope.pendingFolders[arg.data.folder] = pendingFolder;
|
|
||||||
});
|
});
|
||||||
|
|
||||||
$scope.$on('ConfigLoaded', function () {
|
$scope.$on('ConfigLoaded', function () {
|
||||||
@@ -421,7 +459,6 @@ angular.module('syncthing.core')
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
refreshCluster();
|
|
||||||
refreshNoAuthWarning();
|
refreshNoAuthWarning();
|
||||||
setDefaultTheme();
|
setDefaultTheme();
|
||||||
|
|
||||||
@@ -2418,6 +2455,8 @@ angular.module('syncthing.core')
|
|||||||
|
|
||||||
$scope.advanced = function () {
|
$scope.advanced = function () {
|
||||||
$scope.advancedConfig = angular.copy($scope.config);
|
$scope.advancedConfig = angular.copy($scope.config);
|
||||||
|
$scope.advancedConfig.devices.sort(deviceCompare);
|
||||||
|
$scope.advancedConfig.folders.sort(folderCompare);
|
||||||
$('#advanced').modal('show');
|
$('#advanced').modal('show');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user