Bläddra i källkod

gui: Add "Pause All"/"Resume All" button for devices (fixes #6530) (#6549)

MikolajTwarog 5 år sedan
förälder
incheckning
5224f07ac8
2 ändrade filer med 24 tillägg och 0 borttagningar
  1. 6 0
      gui/default/index.html
  2. 18 0
      gui/default/syncthing/core/syncthingController.js

+ 6 - 0
gui/default/index.html

@@ -788,6 +788,12 @@
         </div>
         <div class="form-group">
           <span class="pull-right">
+            <button type="button" class="btn btn-sm btn-default" ng-click="setAllDevicesPause(true)" ng-if="isAtleastOneDevicePausedStateSetTo(false)">
+              <span class="fas fa-pause"></span>&nbsp;<span translate>Pause All</span>
+            </button>
+            <button type="button" class="btn btn-sm btn-default" ng-click="setAllDevicesPause(false)" ng-if="isAtleastOneDevicePausedStateSetTo(true)">
+              <span class="fas fa-play"></span>&nbsp;<span translate>Resume All</span>
+            </button>
             <button type="button" class="btn btn-sm btn-default" ng-click="globalChanges()">
               <span class="fas fa-fw fa-info-circle"></span>&nbsp;<span translate>Recent Changes</span>
             </button>

+ 18 - 0
gui/default/syncthing/core/syncthingController.js

@@ -1588,6 +1588,24 @@ angular.module('syncthing.core')
             return devices;
         };
 
+        $scope.setAllDevicesPause = function (pause) {
+            $scope.devices.forEach(function (cfg) {
+                cfg.paused = pause;
+            });
+            $scope.config.devices = $scope.devices;
+            $scope.saveConfig();
+        }
+
+        $scope.isAtleastOneDevicePausedStateSetTo = function (pause) {
+            for (var i = 0; i < $scope.devices.length; i++) {
+                if ($scope.devices[i].paused == pause) {
+                    return true;
+                }
+            }
+
+            return false
+        }
+
         $scope.errorList = function () {
             if (!$scope.errors) {
                 return [];