Преглед изворни кода

Set default AWS region from dropdown now

utkarshcmu пре 10 година
родитељ
комит
4de9ac133a

+ 18 - 0
public/app/features/org/datasourceEditCtrl.js

@@ -50,16 +50,34 @@ function (angular, config, _) {
       });
     };
 
+    $scope.loadAWSRegions = function() {
+      var options = {
+        method: 'POST',
+        url: '/api/datasources/proxy/' + $scope.current.id,
+        data: { action: '__GetRegions' }
+      };
+
+      return backendSrv.datasourceRequest(options).then(function(result) {
+        $scope.current.jsonData.allRegions = result.data.map(function(region) {
+          return region.text;
+        });
+      });
+    };
+
     $scope.getDatasourceById = function(id) {
       backendSrv.get('/api/datasources/' + id).then(function(ds) {
         $scope.isNew = false;
         $scope.current = ds;
+        console.log($scope.current);
         $scope.typeChanged();
       });
     };
 
     $scope.typeChanged = function() {
       $scope.datasourceMeta = $scope.types[$scope.current.type];
+      if ($scope.current.type === 'cloudwatch') {
+        $scope.loadAWSRegions();
+      }
     };
 
     $scope.updateFrontendSettings = function() {

+ 1 - 1
public/app/plugins/datasource/cloudwatch/partials/config.html

@@ -20,7 +20,7 @@
 					Default Region<tip>Specify the region, such as for US West (Oregon) use ` us-west-2 ` as the region.</tip>
 				</li>
 				<li>
-					<input type="text" class="tight-form-input input-large last" ng-model='current.jsonData.defaultRegion' placeholder="region name" required></input>
+            <select class="tight-form-input input-large last" ng-model="current.jsonData.defaultRegion" ng-options="region for region in current.jsonData.allRegions"></select>
 				</li>
 			</ul>
 			<div class="clearfix"></div>