Author: joyce
Date: Tue May 14 20:08:03 2013
New Revision: 1482549

URL: http://svn.apache.org/r1482549
Log:
Resolves CLIMATE-16. Provide feedback when dataset is added.

- Adds small pop-up next to "Add Dataset" buttons in observation and
  RCMED selection windows that confirms the success of a user
  submission.

Modified:
    incubator/climate/trunk/rcmet/src/main/ui/app/css/app.css
    incubator/climate/trunk/rcmet/src/main/ui/app/js/controllers.js
    
incubator/climate/trunk/rcmet/src/main/ui/app/partials/selectObservation.html
    incubator/climate/trunk/rcmet/src/main/ui/app/partials/selectRcmed.html

Modified: incubator/climate/trunk/rcmet/src/main/ui/app/css/app.css
URL: 
http://svn.apache.org/viewvc/incubator/climate/trunk/rcmet/src/main/ui/app/css/app.css?rev=1482549&r1=1482548&r2=1482549&view=diff
==============================================================================
--- incubator/climate/trunk/rcmet/src/main/ui/app/css/app.css (original)
+++ incubator/climate/trunk/rcmet/src/main/ui/app/css/app.css Tue May 14 
20:08:03 2013
@@ -13,6 +13,14 @@
        margin-left: 10%;
 }
 
+.small-alert 
+{
+       font-size: 12px;
+       color: green;
+       margin-top: 4px;
+       margin-left: 10px;
+}
+
 ul 
 {
        list-style-type: none;

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=1482549&r1=1482548&r2=1482549&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 May 14 
20:08:03 2013
@@ -310,7 +310,7 @@ function DatasetDisplayCtrl($rootScope, 
 }
 
 // Controller for observation selection in modal
-function ObservationSelectCtrl($rootScope, $scope, $http, $q, 
selectedDatasetInformation) {
+function ObservationSelectCtrl($rootScope, $scope, $http, $q, $timeout, 
selectedDatasetInformation) {
        // Initalize the option arrays and default to the first element
        $scope.params      = ["Please select a file above"];
        $scope.paramSelect = $scope.params[0];
@@ -331,6 +331,9 @@ function ObservationSelectCtrl($rootScop
        // Toggle load button view depending on upload state of selected files
        $scope.loadingFile = false;
 
+       // Toggle display of a confirmation when loading a dataset
+       $scope.fileAdded = false;
+
        $scope.latLonVals = [];
        $scope.timeVals = [];
        $scope.localSelectForm = {};
@@ -362,43 +365,43 @@ function ObservationSelectCtrl($rootScop
                // Get Time variables
                var timesPromise = 
$http.jsonp('http://localhost:8082/list/time/";' + input + 
'"?callback=JSON_CALLBACK');
 
-                       $q.all([varsPromise, latlonPromise, timesPromise]).then(
-                               // Handle success fetches!
-                               function(arrayOfResults) {
-                                       $scope.loadingFile = false;
-
-                                       // Handle parameter results
-                                       var data = 
arrayOfResults[0].data.variables;
-                                       $scope.params = (data instanceof Array) 
? data : [data];
-                                       $scope.paramSelect = $scope.params[0];
-
-                                       // Handle lat/lon results
-                                       var data = arrayOfResults[1].data;
-                                       $scope.lats = [data.latname];
-                                       $scope.lons = [data.lonname];
-                                       $scope.latLonVals = [data.latMin, 
data.latMax, data.lonMin, data.lonMax];
-                                       $scope.latsSelect = $scope.lats[0];
-                                       $scope.lonsSelect = $scope.lons[0];
-
-                                       // Handle time results
-                                       var data = arrayOfResults[2].data
-                                       $scope.times = [data.timename];
-                                       $scope.timeSelect = $scope.times[0];
-                               },
-                               // Uh oh! AT LEAST on of our fetches failed
-                               function(arrayOfFailure) {
-                                       $scope.loadingFile = false;
-
-                                       $scope.params      = ["Unable to load 
variable(s)"];
-                                       $scope.paramSelect = $scope.params[0];
-                                       $scope.lats        = ["Unable to load 
variable(s)"];
-                                       $scope.latsSelect  = $scope.lats[0];
-                                       $scope.lons        = ["Unable to load 
variable(s)"];
-                                       $scope.lonsSelect  = $scope.lons[0];
-                                       $scope.times       = ["Unable to load 
variable(s)"];
-                                       $scope.timeSelect  = $scope.times[0];
-                               }
-                       );
+               $q.all([varsPromise, latlonPromise, timesPromise]).then(
+                       // Handle success fetches!
+                       function(arrayOfResults) {
+                               $scope.loadingFile = false;
+
+                               // Handle parameter results
+                               var data = arrayOfResults[0].data.variables;
+                               $scope.params = (data instanceof Array) ? data 
: [data];
+                               $scope.paramSelect = $scope.params[0];
+
+                               // Handle lat/lon results
+                               var data = arrayOfResults[1].data;
+                               $scope.lats = [data.latname];
+                               $scope.lons = [data.lonname];
+                               $scope.latLonVals = [data.latMin, data.latMax, 
data.lonMin, data.lonMax];
+                               $scope.latsSelect = $scope.lats[0];
+                               $scope.lonsSelect = $scope.lons[0];
+
+                               // Handle time results
+                               var data = arrayOfResults[2].data
+                               $scope.times = [data.timename];
+                               $scope.timeSelect = $scope.times[0];
+                       },
+                       // Uh oh! AT LEAST on of our fetches failed
+                       function(arrayOfFailure) {
+                               $scope.loadingFile = false;
+
+                               $scope.params      = ["Unable to load 
variable(s)"];
+                               $scope.paramSelect = $scope.params[0];
+                               $scope.lats        = ["Unable to load 
variable(s)"];
+                               $scope.latsSelect  = $scope.lats[0];
+                               $scope.lons        = ["Unable to load 
variable(s)"];
+                               $scope.lonsSelect  = $scope.lons[0];
+                               $scope.times       = ["Unable to load 
variable(s)"];
+                               $scope.timeSelect  = $scope.times[0];
+                       }
+               );
        };
 
        $scope.addDataSet = function() {
@@ -449,6 +452,12 @@ function ObservationSelectCtrl($rootScop
 
                // Clear the input box
                $('#observationFileInput').val("");
+
+               // Display a confirmation message for a little bit
+               $scope.fileAdded = true;
+               $timeout(function() {
+                       $scope.fileAdded = false;
+               }, 2000);
        }
 
        $scope.shouldDisableLoadButton = function() {
@@ -456,7 +465,9 @@ function ObservationSelectCtrl($rootScop
        }
 }
 
-function RcmedSelectionCtrl($rootScope, $scope, $http, 
selectedDatasetInformation) {
+function RcmedSelectionCtrl($rootScope, $scope, $http, $timeout, 
selectedDatasetInformation) {
+       $scope.fileAdded = false;
+
        var getObservations = function() {
                
$http.jsonp('http://localhost:8082/getObsDatasets?callback=JSON_CALLBACK').
                        success(function(data) {
@@ -523,6 +534,12 @@ function RcmedSelectionCtrl($rootScope, 
                $scope.availableObs = [];
                $scope.retrievedObsParams = [];
                getObservations();
+
+               // Display a confirmation message for a little bit
+               $scope.fileAdded = true;
+               $timeout(function() {
+                       $scope.fileAdded = false;
+               }, 2000);
        };
 
        // Grab the available observations from RCMED

Modified: 
incubator/climate/trunk/rcmet/src/main/ui/app/partials/selectObservation.html
URL: 
http://svn.apache.org/viewvc/incubator/climate/trunk/rcmet/src/main/ui/app/partials/selectObservation.html?rev=1482549&r1=1482548&r2=1482549&view=diff
==============================================================================
--- 
incubator/climate/trunk/rcmet/src/main/ui/app/partials/selectObservation.html 
(original)
+++ 
incubator/climate/trunk/rcmet/src/main/ui/app/partials/selectObservation.html 
Tue May 14 20:08:03 2013
@@ -39,4 +39,5 @@
        </div>
 </div>
 
-<button class="btn" ng-click="addDataSet()">Add Dataset</button>
+<button class="btn pull-left" ng-click="addDataSet()">Add Dataset</button>
+<div class="pull-left small-alert" ng-show="fileAdded">Successfully added 
dataset...</div>

Modified: 
incubator/climate/trunk/rcmet/src/main/ui/app/partials/selectRcmed.html
URL: 
http://svn.apache.org/viewvc/incubator/climate/trunk/rcmet/src/main/ui/app/partials/selectRcmed.html?rev=1482549&r1=1482548&r2=1482549&view=diff
==============================================================================
--- incubator/climate/trunk/rcmet/src/main/ui/app/partials/selectRcmed.html 
(original)
+++ incubator/climate/trunk/rcmet/src/main/ui/app/partials/selectRcmed.html Tue 
May 14 20:08:03 2013
@@ -25,4 +25,5 @@
        </div>
 </div>
 
-<button class="btn" ng-click="addObservation()">Add Observation</button>
+<button class="btn pull-left" ng-click="addObservation()">Add 
Observation</button>
+<div class="pull-left small-alert" ng-show="fileAdded">Successfully added 
dataset...</div>


Reply via email to