You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@climate.apache.org by jo...@apache.org on 2013/06/04 23:27:45 UTC
svn commit: r1489622 - in /incubator/climate/trunk/rcmet/src/main/ui/app:
index.html js/controllers.js
Author: joyce
Date: Tue Jun 4 21:27:40 2013
New Revision: 1489622
URL: http://svn.apache.org/r1489622
Log:
Resolves CLIMATE-76 - Add parameter checks when user changes values.
- Adds ParameterSelectCtrl.checkParameters() which ensures that all user
input falls into the valid range as determined by the currently
selected datasets.
- Updates all the parameter selection fields with an on-blur event that
calls the new 'checkParameters' function.
- The ParameterSelectCtrl now maintains a record of the min/max
lat/lon/time values when the datasets object changes. This allows for
input changes to be tested properly!
Modified:
incubator/climate/trunk/rcmet/src/main/ui/app/index.html
incubator/climate/trunk/rcmet/src/main/ui/app/js/controllers.js
Modified: incubator/climate/trunk/rcmet/src/main/ui/app/index.html
URL: http://svn.apache.org/viewvc/incubator/climate/trunk/rcmet/src/main/ui/app/index.html?rev=1489622&r1=1489621&r2=1489622&view=diff
==============================================================================
--- incubator/climate/trunk/rcmet/src/main/ui/app/index.html (original)
+++ incubator/climate/trunk/rcmet/src/main/ui/app/index.html Tue Jun 4 21:27:40 2013
@@ -86,13 +86,13 @@
<div class="span1 offset2 text-center">Start Date:</div>
<div class="span2">
<form>
- <input type="text" class="text-center span2" ng-model="displayParams.start" ui-date="datepickerSettings" ui-date-format="yy-mm-dd" />
+ <input type="text" class="text-center span2" on-blur="checkParameters();" ng-model="displayParams.start" ui-date="datepickerSettings" ui-date-format="yy-mm-dd" />
</form>
</div>
<div class="span1 text-center">End Date:</div>
<div class="span2">
<form>
- <input type="text" class="text-center span2" ng-model="displayParams.end" ui-date="datepickerSettings" ui-date-format="yy-mm-dd" />
+ <input type="text" class="text-center span2" on-blur="checkParameters();" ng-model="displayParams.end" ui-date="datepickerSettings" ui-date-format="yy-mm-dd" />
</form>
</div>
<div class="span1">
@@ -112,13 +112,13 @@
<div class="span1 offset2 text-center">North:</div>
<div class="span2">
<form action="">
- <input ng-model="displayParams.latMax" type="text" class="span2 text-center" />
+ <input ng-model="displayParams.latMax" on-blur="checkParameters();" type="text" class="span2 text-center" />
</form>
</div>
<div class="span1 text-center">East:</div>
<div class="span2">
<form>
- <input ng-model="displayParams.lonMax" type="text" class="span2 text-center" />
+ <input ng-model="displayParams.lonMax" on-blur="checkParameters();" type="text" class="span2 text-center" />
</form>
</div>
<div class="span2">
@@ -132,13 +132,13 @@
<div class="span1 offset2 text-center">South:</div>
<div class="span2">
<form action="">
- <input ng-model="displayParams.latMin" type="text" class="span2 text-center" />
+ <input ng-model="displayParams.latMin" on-blur="checkParameters();" type="text" class="span2 text-center" />
</form>
</div>
<div class="span1 text-center">West:</div>
<div class="span2">
<form>
- <input ng-model="displayParams.lonMin" type="text" class="span2 text-center" />
+ <input ng-model="displayParams.lonMin" on-blur="checkParameters();"; type="text" class="span2 text-center" />
</form>
</div>
</div>
Modified: incubator/climate/trunk/rcmet/src/main/ui/app/js/controllers.js
URL: http://svn.apache.org/viewvc/incubator/climate/trunk/rcmet/src/main/ui/app/js/controllers.js?rev=1489622&r1=1489621&r2=1489622&view=diff
==============================================================================
--- incubator/climate/trunk/rcmet/src/main/ui/app/js/controllers.js (original)
+++ incubator/climate/trunk/rcmet/src/main/ui/app/js/controllers.js Tue Jun 4 21:27:40 2013
@@ -241,6 +241,25 @@ function ParameterSelectCtrl($rootScope,
});
}
+ // Check the Parameter selection boxes after the user has changed input to ensure that valid
+ // values were entered
+ $scope.checkParameters = function() {
+ if ($scope.displayParams.latMin < $scope.latMin)
+ $scope.displayParams.latMin = $scope.latMin;
+ if ($scope.displayParams.latMax > $scope.latMax)
+ $scope.displayParams.latMax = $scope.latMax;
+ if ($scope.displayParams.lonMin < $scope.lonMin)
+ $scope.displayParams.lonMin = $scope.lonMin;
+ if ($scope.displayParams.lonMax > $scope.lonMax)
+ $scope.displayParams.lonMax = $scope.lonMax;
+ if ($scope.displayParams.start < $scope.start)
+ $scope.displayParams.start = $scope.start;
+ if ($scope.displayParams.end > $scope.end)
+ $scope.displayParams.end = $scope.end;
+
+ $scope.$apply();
+ }
+
$scope.$watch('datasets',
function() {
var numDatasets = $scope.datasets.length;
@@ -272,12 +291,21 @@ function ParameterSelectCtrl($rootScope,
$scope.areInUserRegridState = !datasetRegrid
}
+ // Update the display parameters with the new valid overlap that we've found!
$scope.displayParams.latMin = latMin;
$scope.displayParams.latMax = latMax;
$scope.displayParams.lonMin = lonMin;
$scope.displayParams.lonMax = lonMax;
$scope.displayParams.start = start.split(" ")[0];
$scope.displayParams.end = end.split(" ")[0];
+
+ // Update the local store values!
+ $scope.latMin = latMin;
+ $scope.latMax = latMax;
+ $scope.lonMin = lonMin;
+ $scope.lonMax = lonMax;
+ $scope.start = start.split(" ")[0];
+ $scope.end = end.split(" ")[0];
}, true);
}