climate-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From jo...@apache.org
Subject [26/28] CLIMATE-512 - Replace frontend with new Yeoman/Grunt/Bower frontend
Date Thu, 28 Aug 2014 03:08:10 GMT
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/controllers/parameterselect.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/controllers/parameterselect.js b/ocw-ui/frontend-new/app/scripts/controllers/parameterselect.js
deleted file mode 100644
index cad97e0..0000000
--- a/ocw-ui/frontend-new/app/scripts/controllers/parameterselect.js
+++ /dev/null
@@ -1,275 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc function
- * @name ocwUiApp.controller:ParameterSelectCtrl
- * @description
- * # ParameterSelectCtrl
- * Controller of the ocwUiApp
- */
-angular.module('ocwUiApp')
-.controller('ParameterSelectCtrl', ['$rootScope', '$scope', '$http', '$timeout', 
-						   'selectedDatasetInformation', 'regionSelectParams', 'evaluationSettings', 
-  function($rootScope, $scope, $http, $timeout, selectedDatasetInformation, regionSelectParams, evaluationSettings) {
-    $scope.datasets = selectedDatasetInformation.getDatasets();
-
-    // The min/max lat/lon values from the selected datasets
-    $scope.latMin = -90;
-    $scope.latMax = 90;
-    $scope.lonMin = -180;
-    $scope.lonMax = 180;
-    $scope.start = "1900-01-01 00:00:00";
-    $scope.end = "2030-01-01 00:00:00";
-
-    // The min/max lat/lon values that are displayed
-    $scope.displayParams = regionSelectParams.getParameters();
-
-    $scope.runningEval = false;
-
-    // Flag for toggling re-grid controls based on whether or not the user has selected a grid
-    // base from the selected datasets. By default we have no datasets so we don't need to show
-    // the controls!
-    $scope.areInUserRegridState = false;
-
-    // Initialization for the lat/lon grid step sliders
-    // TODO There has to be a better way of dealing with this. Perhaps a directive??
-    $scope.latSliderVal = 0;
-    $scope.lonSliderVal = 0;
-
-    // Settings for jQuery datepicker directives!
-    $scope.datepickerSettings = {
-      changeMonth: true,
-      changeYear: true,
-    };
-
-    $scope.shouldDisableControls = function() {
-      return (selectedDatasetInformation.getDatasetCount() < 2);
-    }
-
-    $scope.shouldDisableEvaluateButton = function() {
-      return ($scope.shouldDisableControls() || $scope.runningEval);
-    }
-
-    $scope.shouldDisableResultsView = function() {
-      var res = false;
-
-      if ($rootScope.evalResults == "")
-        res = true;
-
-      return res;
-    }
-
-    $scope.runEvaluation = function() {
-      $scope.runningEval = true;
-
-      var data = {}
-      var settings = evaluationSettings.getSettings()
-
-      // Set dataset information
-
-      // Grab the reference dataset information
-      var ref_ds = settings.spatialSelect;
-
-      if (ref_ds == null) {
-        ref_ds = $scope.datasets[0];
-      }
-
-      data['reference_dataset'] = null;
-      data['target_datasets'] = [];
-
-      // Parse all the dataset information and generate the necessary objects for the backend
-      for (var i = 0; i < $scope.datasets.length; i++) {
-        var dataset = {}
-        dataset['dataset_info'] = {}
-
-        if ($scope.datasets[i].isObs == 0) {
-          dataset['data_source_id'] = 1;
-          dataset['dataset_info']['dataset_id'] = $scope.datasets[i]['id'];
-          dataset['dataset_info']['var_name'] = $scope.datasets[i]['param'];
-          dataset['dataset_info']['lat_name'] = $scope.datasets[i]['lat'];
-          dataset['dataset_info']['lon_name'] = $scope.datasets[i]['lon'];
-          dataset['dataset_info']['time_name'] = $scope.datasets[i]['time'];
-          dataset['dataset_info']['name'] = $scope.datasets[i]['name'];
-        } else {
-          dataset['data_source_id'] = 2;
-          dataset['dataset_info']['dataset_id'] = $scope.datasets[i]['datasetId'];
-          dataset['dataset_info']['parameter_id'] = $scope.datasets[i]['param'];
-          dataset['dataset_info']['name'] = $scope.datasets[i]['name'];
-        }
-
-        if ($scope.datasets[i].id === ref_ds.id) {
-          data['reference_dataset'] = dataset;
-        } else {
-          data['target_datasets'].push(dataset);
-        }
-      }
-
-      // TODO: These should be use customizable
-      // Set the spatial rebin grid steps
-      data['spatial_rebin_lat_step'] = 1;
-      data['spatial_rebin_lon_step'] = 1;
-
-      // Determine the temporal resolution to use when doing a temporal rebin. The
-      // value is used to determine the timedelta in days to use.
-      var temporal_res = settings.temporal.selected;
-
-      if (temporal_res == 'daily') {
-        data['temporal_resolution'] = 1;
-      } else if (temporal_res == 'monthly') {
-        data['temporal_resolution'] = 30;
-      } else if (temporal_res == 'yearly') {
-        data['temporal_resolution'] = 365;
-      } else if (temporal_res == 'full') {
-        data['temporal_resolution'] = 999;
-      } else {
-        // Default to monthly just in case
-        data['temporal_resolution'] = 30;
-      }
-
-      // Load the Metrics for the evaluation
-      data['metrics'] = []
-      var metrics = settings.metrics
-      for (var i = 0; i < metrics.length; i++) {
-        var metric = metrics[i];
-
-        if (metric.select) {
-          data['metrics'].push(metric.name)
-        }
-      }
-
-      // Set the bound values for the evaluation
-      data['start_time'] =  $scope.displayParams.start + " 00:00:00",
-      data['end_time'] = $scope.displayParams.end + " 00:00:00",
-      data['lat_min'] = $scope.displayParams.latMin,
-      data['lat_max'] = $scope.displayParams.latMax,
-      data['lon_min'] = $scope.displayParams.lonMin,
-      data['lon_max'] = $scope.displayParams.lonMax,
-
-      $http.post($rootScope.baseURL + '/processing/run_evaluation/', data).
-      success(function(data) {
-        var evalWorkDir = data['eval_work_dir'];
-
-        $scope.runningEval = false;
-
-        $timeout(function() {
-          if (evalWorkDir !== undefined) {
-            window.location = "#/results/" + evalWorkDir;
-          } else {
-            window.location = "#/results";
-          }
-        }, 100);
-        
-      }).error(function() {
-        $scope.runningEval = false;
-      });
-    };
-
-    // Check the Parameter selection boxes after the user has changed input to ensure that valid
-    // values were entered
-    $scope.checkParameters = function() {
-      if (parseFloat($scope.displayParams.latMin) < parseFloat($scope.latMin))
-        $scope.displayParams.latMin = $scope.latMin;
-
-      if (parseFloat($scope.displayParams.latMax) > parseFloat($scope.latMax))
-        $scope.displayParams.latMax = $scope.latMax;
-
-      if (parseFloat($scope.displayParams.lonMin) < parseFloat($scope.lonMin)) 
-        $scope.displayParams.lonMin = $scope.lonMin;
-
-      if (parseFloat($scope.displayParams.lonMax) > parseFloat($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.displayParams.latMin = $scope.truncateFloat($scope.displayParams.latMin);
-          $scope.displayParams.latMax = $scope.truncateFloat($scope.displayParams.latMax);
-          $scope.displayParams.lonMin = $scope.truncateFloat($scope.displayParams.lonMin);
-          $scope.displayParams.lonMax = $scope.truncateFloat($scope.displayParams.lonMax);
-
-      $scope.$apply();
-      $rootScope.$broadcast('redrawOverlays', []);
-    }
-
-    $scope.unwatchDatasets = $scope.$watch('datasets', 
-      function() { 
-        var numDatasets = $scope.datasets.length;
-        $scope.displayParams.areValid = false;
-        $scope.areInUserRegridState = false;
-
-        if (numDatasets) {
-          var latMin        = -90,
-            latMax        = 90,
-            lonMin        = -180,
-            lonMax        = 180,
-            start         = "1900-01-01 00:00:00",
-            end           = "2030-01-01 00:00:00",
-            datasetRegrid = false;
-          // Get the valid lat/lon range in the selected datasets.
-          for (var i = 0; i < numDatasets; i++) {
-            var curDataset = $scope.datasets[i];
-    
-            latMin = (curDataset['latlonVals']['latMin'] > latMin) ? curDataset['latlonVals']['latMin'] : latMin;
-            latMax = (curDataset['latlonVals']['latMax'] < latMax) ? curDataset['latlonVals']['latMax'] : latMax;
-            lonMin = (curDataset['latlonVals']['lonMin'] > lonMin) ? curDataset['latlonVals']['lonMin'] : lonMin;
-            lonMax = (curDataset['latlonVals']['lonMax'] < lonMax) ? curDataset['latlonVals']['lonMax'] : lonMax;
-            start = (curDataset['timeVals']['start'] > start) ? curDataset['timeVals']['start'] : start;
-            end = (curDataset['timeVals']['end'] < end) ? curDataset['timeVals']['end'] : end;
-
-            datasetRegrid = datasetRegrid || curDataset.regrid;
-
-          }
-
-          $scope.areInUserRegridState = !datasetRegrid
-        }
-
-        // Update the display parameters with the new valid overlap that we've found!
-        $scope.displayParams.latMin = $scope.truncateFloat(latMin);
-        $scope.displayParams.latMax = $scope.truncateFloat(latMax);
-        $scope.displayParams.lonMin = $scope.truncateFloat(lonMin);
-        $scope.displayParams.lonMax = $scope.truncateFloat(lonMax);
-        $scope.displayParams.start = (typeof start == 'undefined') ? "" : start.split(" ")[0];
-        $scope.displayParams.end = (typeof end == 'undefined') ? "" : end.split(" ")[0];
-
-        // Update the local store values!
-        $scope.latMin = latMin;
-        $scope.latMax = latMax;
-        $scope.lonMin = lonMin;
-        $scope.lonMax = lonMax;
-        $scope.start = (typeof start == 'undefined') ? "" : start.split(" ")[0];
-        $scope.end = (typeof end == 'undefined') ? "" : end.split(" ")[0];
-
-        $scope.displayParams.areValid = true;
-        $rootScope.$broadcast('redrawOverlays', []);
-      }, true);
-
-      $scope.truncateFloat = function(floatVal) {
-          if (floatVal > 0) {
-              return Math.floor(floatVal);
-          } else {
-              return Math.ceil(floatVal);
-          }
-      };
-  }]);

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/controllers/rcmedselection.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/controllers/rcmedselection.js b/ocw-ui/frontend-new/app/scripts/controllers/rcmedselection.js
deleted file mode 100644
index a3b3801..0000000
--- a/ocw-ui/frontend-new/app/scripts/controllers/rcmedselection.js
+++ /dev/null
@@ -1,144 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc function
- * @name ocwUiApp.controller:RcmedSelectionCtrl
- * @description
- * # RcmedSelectionCtrl
- * Controller of the ocwUiApp
- */
-angular.module('ocwUiApp')
-  .controller('RcmedSelectionCtrl', ['$rootScope', '$scope', '$http', '$timeout', 'selectedDatasetInformation',
-    function($rootScope, $scope, $http, $timeout, selectedDatasetInformation) {
-      // Grab a copy of the datasets so we can display a count to the user!
-      $scope.datasetCount = selectedDatasetInformation.getDatasets();
-      $scope.fileAdded = false;
-
-      $scope.getObservations = function() {
-        $http.jsonp($rootScope.baseURL + '/rcmed/datasets/?callback=JSON_CALLBACK').
-          success(function(data) {
-            $scope.availableObs = data;
-            $scope.availableObs.splice(0, 0, {longname: 'Please select an option'});
-            $scope.datasetSelection = $scope.availableObs[0];
-          }).
-          error(function(data) {
-            $scope.availableObs = ["Unable to query RCMED"]
-          });
-      };
-
-      $scope.getObservationBounds = function() {
-        $scope.observationBounds = {};
-
-        $http.get($rootScope.baseURL + '/rcmed/parameters/bounds/')
-          .success(function(data) {
-              $scope.observationBounds = data;
-              $scope.observationBounds['default'] = {
-                  'start': '1900-01-01 00:00:00',
-                  'end': '2050-01-01 00:00:00',
-                  'latMin': -90,
-                  'latMax': 89,
-                  'lonMin': -180,
-                  'lonMax': 179,
-              };
-          })
-          .error(function(data) {
-              $scope.observationBounds['default'] = {
-                  'start': '1900-01-01 00:00:00',
-                  'end': '2050-01-01 00:00:00',
-                  'latMin': -90,
-                  'latMax': 89,
-                  'lonMin': -180,
-                  'lonMax': 179,
-              };
-          });
-      };
-
-      $scope.getBoundsByParameterId = function(parameterId) {
-        if (parameterId in $scope.observationBounds) {
-          return $scope.observationBounds[parameterId];
-        } else {
-          return $scope.observationBounds['default'];
-        }
-      };
-
-      $scope.dataSelectUpdated = function() {
-        var urlString = $rootScope.baseURL + '/rcmed/parameters/?dataset=' +
-                        $scope.datasetSelection["shortname"] +
-                        "&callback=JSON_CALLBACK";
-        $http.jsonp(urlString)
-          .success(function(data) {
-            $scope.retrievedObsParams = data;
-            if ($scope.retrievedObsParams.length > 1)
-              $scope.retrievedObsParams.splice(0, 0, {shortname: 'Please select a parameter'});
-            $scope.parameterSelection = $scope.retrievedObsParams[0];
-          });
-      };
-
-      $scope.addObservation = function() {
-        var newDataset = {};
-
-        newDataset['isObs'] = 1;
-        // Save the dataset id (the important part) and name (for display purposes)
-        newDataset['datasetId'] = $scope.datasetSelection['dataset_id'];
-        newDataset['name'] = $scope.datasetSelection['longname'];
-        // Save the parameter id (the important part) and name (for display purposes)
-        newDataset['id']    = $scope.parameterSelection['parameter_id'];
-        newDataset['param'] = $scope.parameterSelection['parameter_id'];
-        newDataset['paramName'] = $scope.parameterSelection['longname'];
-
-        var bounds = $scope.getBoundsByParameterId(newDataset['id']);
-        newDataset['latlonVals'] = {
-          'latMin': bounds['lat_min'],
-          'latMax': bounds['lat_max'],
-          'lonMin': bounds['lon_min'],
-          'lonMax': bounds['lon_max'],
-        };
-        newDataset['timeVals'] = {
-          'start': bounds['start_date'],
-          'end': bounds['end_date'],
-        };
-
-        // Set some defaults for lat/lon/time variable names. This just helps
-        // us display stuff later.
-        newDataset['lat'] = "N/A";
-        newDataset['lon'] = "N/A";
-        newDataset['time'] = "N/A";
-
-        selectedDatasetInformation.addDataset(newDataset);
-
-        // Clear the user selections by requery-ing RCMED. This is really hacky, but it works for now...
-        $scope.availableObs = [];
-        $scope.retrievedObsParams = [];
-        $scope.getObservations();
-
-        // Display a confirmation message for a little bit
-        $scope.fileAdded = true;
-        $timeout(function() {
-          $scope.fileAdded = false;
-        }, 2000);
-      };
-
-      // Grab the available observations from RCMED
-      $scope.getObservations();
-      $scope.getObservationBounds();
-    }
-  ]);

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/controllers/result.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/controllers/result.js b/ocw-ui/frontend-new/app/scripts/controllers/result.js
deleted file mode 100644
index 39b94b9..0000000
--- a/ocw-ui/frontend-new/app/scripts/controllers/result.js
+++ /dev/null
@@ -1,47 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc function
- * @name ocwUiApp.controller:ResultCtrl
- * @description
- * # ResultCtrl
- * Controller of the ocwUiApp
- */
-angular.module('ocwUiApp')
-.controller('ResultCtrl', ['$rootScope', '$scope', '$http',
-function($rootScope, $scope, $http) {
-
-    $scope.results = [];
-
-    // Get all evaluation directories
-    $http.jsonp($rootScope.baseURL + '/dir/results/?callback=JSON_CALLBACK')
-    .success(function(data) {
-      data = data['listing']
-
-      var cacheDirIndex = data.indexOf("/cache");
-      if (cacheDirIndex > -1) {
-        data.split(cacheDirIndex, 1)
-      }
-
-      $scope.results = data.sort().reverse();
-    });
-}]);

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/controllers/resultdetail.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/controllers/resultdetail.js b/ocw-ui/frontend-new/app/scripts/controllers/resultdetail.js
deleted file mode 100644
index 952516c..0000000
--- a/ocw-ui/frontend-new/app/scripts/controllers/resultdetail.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc function
- * @name ocwUiApp.controller:ResultDetailCtrl
- * @description
- * # ResultDetailCtrl
- * Controller of the ocwUiApp
- */
-angular.module('ocwUiApp')
-.controller('ResultDetailCtrl', ['$rootScope', '$scope', '$http', '$stateParams',
-function($rootScope, $scope, $http, $stateParams) {
-	$scope.result = $stateParams.resultId;
-	
-	$http.jsonp($rootScope.baseURL + '/dir/results/' + $scope.result + '?callback=JSON_CALLBACK')
-	.success(function(data) {
-		data = data['listing'];
-
-		if (data.length < 1) {
-			$scope.figures = null;
-			$scope.alertMessage = "No results found.";
-			$scope.alertClass = "alert alert-danger";
-		} else {
-			$scope.figures = data;
-		}
-	});
-}]);

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/controllers/settings.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/controllers/settings.js b/ocw-ui/frontend-new/app/scripts/controllers/settings.js
deleted file mode 100644
index ca62fd8..0000000
--- a/ocw-ui/frontend-new/app/scripts/controllers/settings.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc function
- * @name ocwUiApp.controller:SettingsCtrl
- * @description
- * # SettingsCtrl
- * Controller of the ocwUiApp
- */
-angular.module('ocwUiApp')
-.controller('SettingsCtrl', ['$scope', 'evaluationSettings', 'selectedDatasetInformation',
-function($scope, evaluationSettings, selectedDatasetInformation) {
-	$scope.settings = evaluationSettings.getSettings();
-	$scope.datasets = selectedDatasetInformation.getDatasets();
-}]);

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/controllers/timeline.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/controllers/timeline.js b/ocw-ui/frontend-new/app/scripts/controllers/timeline.js
deleted file mode 100644
index 2546ede..0000000
--- a/ocw-ui/frontend-new/app/scripts/controllers/timeline.js
+++ /dev/null
@@ -1,103 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc function
- * @name ocwUiApp.controller:TimelineCtrl
- * @description
- * # TimelineCtrl
- * Controller of the ocwUiApp
- */
-angular.module('ocwUiApp')
-.controller('TimelineCtrl', ['$rootScope', '$scope', 'selectedDatasetInformation', 'regionSelectParams',
-function($rootScope, $scope, selectedDatasetInformation, regionSelectParams) {
-	$scope.datasets = selectedDatasetInformation.getDatasets();
-	$scope.regionParams = regionSelectParams.getParameters();
-
-	$scope.updateTimeline = function() {
- 		// Clear timeline data if it exists
- 		if ("timeline" in $rootScope) {
- 			$rootScope.timeline.deleteAllItems();
- 		}
-
-		// Don't process if no datasets have been added
-		if ($scope.datasets.length == 0 || !("timeline" in $rootScope))
-			return;
- 		
-		// Create DataTable to add data to timeline
-		var data = new google.visualization.DataTable();
-		data.addColumn('datetime', 'start');
-		data.addColumn('datetime', 'end');
-		data.addColumn('string', 'content');
-
-		// Loop through datasets and find the overlapping start/end time range
-		var start = $scope.datasets[0].timeVals.start;
-		var end = $scope.datasets[0].timeVals.end;
-		for (var i = 0; i < $scope.datasets.length; i++) {
-			var possibleNewStart = $scope.datasets[i].timeVals.start;
-			var possibleNewEnd = $scope.datasets[i].timeVals.end;
-
-			start = (possibleNewStart > start) ? possibleNewStart : start;
-			end = (possibleNewEnd < end) ? possibleNewEnd : end;
-		}
-
-		// Set the timeline extent to the overlapping time range
-		//
-		// NOTE: The month value substring is expected to be 0-based (hence the -1)
-		$rootScope.timeline.setVisibleChartRange(new Date(start.substr(0, 4), start.substr(5, 2) - 1, start.substr(8, 2)),
-												 new Date(end.substr(0, 4), end.substr(5, 2) - 1, end.substr(8, 2)));
-
-		// Add user selected bounds to timeline
-		if ($scope.regionParams.areValid) {
-
-			var userStart 	= $scope.regionParams.start;
-			var userEnd 	= $scope.regionParams.end;
-
-			// Add color to user selected bounds
-			var style = 'background-color: #000000; border: 2px solid;';
-			var ocwBar = '<div class="ocw-bar timeline-event-range" style="' + style + '"></div>';
-			
-			// Add row to DataTable: object with start and end date
-			// note: subtract one from month since indexes from 0 to 11
-			data.addRow([new Date(userStart.substr(0,4), userStart.substr(5,2)-1, userStart.substr(8,2)), 
-						new Date(userEnd.substr(0,4), userEnd.substr(5,2)-1, userEnd.substr(8,2)),
-						ocwBar ]);
-		}
-		
-		var options = {
-				"width": "100%",
-				"showCurrentTime": false,
-				"moveable": false,
-				"zoomable": false,
-		};
-		
-		// Draw timeline with data (DataTable) and options (a name-value map) 
-		$rootScope.timeline.draw(data, options);
-	};
-
-	$scope.$on('redrawOverlays', function(event, parameters) {
-		$scope.updateTimeline();
-	});
-
-	$scope.$watch('datasets', function() {
-		$scope.updateTimeline();
-	}, true);
-}]);

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/controllers/worldmap.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/controllers/worldmap.js b/ocw-ui/frontend-new/app/scripts/controllers/worldmap.js
deleted file mode 100644
index 0d28d6c..0000000
--- a/ocw-ui/frontend-new/app/scripts/controllers/worldmap.js
+++ /dev/null
@@ -1,104 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc function
- * @name ocwUiApp.controller:WorldMapCtrl
- * @description
- * # WorldMapCtrl
- * Controller of the ocwUiApp
- */
-angular.module('ocwUiApp')
-.controller('WorldMapCtrl', ['$rootScope', '$scope', 'selectedDatasetInformation', 'regionSelectParams',
-function($rootScope, $scope, selectedDatasetInformation, regionSelectParams) {
-	$scope.datasets = selectedDatasetInformation.getDatasets();
-	$scope.regionParams = regionSelectParams.getParameters();
-
-	$scope.updateMap = function() {
- 		// Clear Group of layers from map if it exists
- 		if ("rectangleGroup" in $rootScope) {
- 			$rootScope.rectangleGroup.clearLayers();
- 		}
-
-		// Don't process if we don't have any datasets added or if the map doesn't exist!!
-		if ($scope.datasets.length == 0 || !("map" in $rootScope))
-			return;
- 		
-		// Create a group that we'll draw overlays to
-		$rootScope.rectangleGroup = L.layerGroup();
-		// Add rectangle Group to map
-		$rootScope.rectangleGroup.addTo($rootScope.map);
-
-		// Calculate the overlap region and set the map to show the new overlap
-		var latMin = -90,
-			latMax = 90,
-			lonMin = -180,
-			lonMax = 180;
-
-		// Get the valid lat/lon range in the selected datasets.
-		for (var i = 0; i < selectedDatasetInformation.getDatasetCount(); i++) {
-			var curDataset = $scope.datasets[i];
-
-			latMin = (curDataset['latlonVals']['latMin'] > latMin) ? curDataset['latlonVals']['latMin'] : latMin;
-			latMax = (curDataset['latlonVals']['latMax'] < latMax) ? curDataset['latlonVals']['latMax'] : latMax;
-			lonMin = (curDataset['latlonVals']['lonMin'] > lonMin) ? curDataset['latlonVals']['lonMin'] : lonMin;
-			lonMax = (curDataset['latlonVals']['lonMax'] < lonMax) ? curDataset['latlonVals']['lonMax'] : lonMax;
-		}
-
-		var overlapBounds = [[latMax, lonMin], [latMin, lonMax]];
-		$rootScope.map.fitBounds(overlapBounds, {padding: [0, 0]});
-
-		// Draw border around overlap region
-		var overlapBorder = L.rectangle(overlapBounds, {
-			color: '#000000',
-			opacity: 1.0,
-			fill: false,
-			weight: 2,
-			dashArray: "10 10",
-		});
-
-		$rootScope.rectangleGroup.addLayer(overlapBorder);
-
-		// Draw user selected region
-		if ($scope.regionParams.areValid) {
-
-			var bounds = [[$scope.regionParams.latMax, $scope.regionParams.lonMin],
-						  [$scope.regionParams.latMin, $scope.regionParams.lonMax]];
-
-			var polygon = L.rectangle(bounds, {
-				color: '#000000',
-				opacity: .3,
-				stroke: false,
-				fill: true,
-			});
-
-			$rootScope.rectangleGroup.addLayer(polygon);
-		}
-	};
-
-	$scope.$on('redrawOverlays', function(event, parameters) {
-		$scope.updateMap();
-	});
-
-	$scope.$watch('datasets', function() {
-		$scope.updateMap();
-	}, true);
-}]);

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/directives/bootstrapmodal.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/directives/bootstrapmodal.js b/ocw-ui/frontend-new/app/scripts/directives/bootstrapmodal.js
deleted file mode 100644
index 26d0a46..0000000
--- a/ocw-ui/frontend-new/app/scripts/directives/bootstrapmodal.js
+++ /dev/null
@@ -1,79 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc directive
- * @name ocwUiApp.directive:bootstrapModal
- * @description
- * # bootstrapModal
- */
-angular.module('ocwUiApp')
-.directive('bootstrapModal', function($timeout) {
-	var link = function(scope, elem, attrs) {
-		var escapeEvent;
-		var openModal;
-		var closeModal;
-
-		escapeEvent = function(e) {
-			if (e.which == 27)
-				closeModal();
-		}
-
-		openModal = function(event, toggleBackground, toggleKeyboardEscape) {
-			// Grab the current modal tag based on the modalId attribute in the bootstrapModal tag
-			var modal = $('#' + attrs.modalId);
-
-			// Make all the modal's children of class "close" call the appropriate function for closing!
-			$('.close', modal).bind('click', closeModal);
-
-			modal.modal({
-				show: true,
-				backdrop: toggleBackground,
-				keyboard: toggleKeyboardEscape,
-			});
-		};
-
-		closeModal = function(event) {
-			$('#' + attrs.modalId).modal('hide');
-			
-		};
-
-		// We need to bind the close and open modal events so outside elements can trigger the modal.
-		// This has to wait until the template has been fully inserted, so just wait a bit of time
-		// before we set them. I'm sure there's a better way of handling this...
-		$timeout(function() {
-			$('#' + attrs.modalId).
-				bind('modalOpen', openModal).
-				bind('modalClose', closeModal);
-		}, 100);
-	};
-
-	return {
-		link: link,
-		replace: true,
-		restrict: 'E',
-		scope: {
-			modalId: '@' 
-		},
-		template: '<div id="{{modalId}}" class="modal hide fade" tabindex="-1"><div ng-transclude></div></div>',
-		transclude: true
-	};
-});

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/directives/bootstrapmodalopen.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/directives/bootstrapmodalopen.js b/ocw-ui/frontend-new/app/scripts/directives/bootstrapmodalopen.js
deleted file mode 100644
index dca4005..0000000
--- a/ocw-ui/frontend-new/app/scripts/directives/bootstrapmodalopen.js
+++ /dev/null
@@ -1,43 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc directive
- * @name ocwUiApp.directive:bootstrapModalOpen
- * @description
- * # bootstrapModalOpen
- */
-angular.module('ocwUiApp')
-.directive('bootstrapModalOpen', function() {
-	return {
-		restrict: 'A',
-		link: function(scope, elem, attrs) {
-			// Default to showing the background if the user didn't specify a value for this.
-			var hasBackground = (attrs.background === undefined ? true : (attrs.background == "true"));
-			// Enable keyboard closing of modal with escape key.
-			var hasKeyboardEscape = (attrs.keyboard === undefined ? true : (attrs.keyboard == "true"));
-
-			$(elem).bind('click', function() {
-				$('#' + attrs.bootstrapModalOpen).trigger('modalOpen', [hasBackground, hasKeyboardEscape]);
-			});
-		}
-	};
-});

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/directives/leafletmap.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/directives/leafletmap.js b/ocw-ui/frontend-new/app/scripts/directives/leafletmap.js
deleted file mode 100644
index 9b0a6eb..0000000
--- a/ocw-ui/frontend-new/app/scripts/directives/leafletmap.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc directive
- * @name ocwUiApp.directive:leafletMap
- * @description
- * # leafletMap
- */
-angular.module('ocwUiApp')
-.directive('leafletMap', function($rootScope) {
-	return {
-		restrict: 'E',
-		replace: true,
-		template: '<div></div>',
-		link: function(scope, element, attrs) {
-			$rootScope.map = L.map(attrs.id, {
-				center: [40, 0],
-				zoom: 2,
-				scrollWheelZoom: false,
-				attributionControl: false,
-				worldCopyJump: true,
-			});
-
-			L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {}).addTo($rootScope.map);
-		}
-	};
-});

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/directives/onblur.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/directives/onblur.js b/ocw-ui/frontend-new/app/scripts/directives/onblur.js
deleted file mode 100644
index 313dbe0..0000000
--- a/ocw-ui/frontend-new/app/scripts/directives/onblur.js
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc directive
- * @name ocwUiApp.directive:onBlur
- * @description
- * # onBlur
- */
-angular.module('ocwUiApp')
-.directive('onBlur', function() {
-	return {
-        restrict: 'A',
-        link: function($scope, $elem, $attrs) {
-            $elem.bind('blur', function() {
-				$scope.$eval($attrs.onBlur);
-			});
-        },
-    };
-});

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/directives/predictivefilebrowserinput.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/directives/predictivefilebrowserinput.js b/ocw-ui/frontend-new/app/scripts/directives/predictivefilebrowserinput.js
deleted file mode 100644
index 7142c15..0000000
--- a/ocw-ui/frontend-new/app/scripts/directives/predictivefilebrowserinput.js
+++ /dev/null
@@ -1,316 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc directive
- * @name ocwUiApp.directive:predictiveFileBrowserInput
- * @description
- * # predictiveFileBrowserInput
- */
-angular.module('ocwUiApp')
-.directive('predictiveFileBrowserInput', function() {
-	var link = function($scope, $elem, $attrs) {
-		$scope.autocomplete = [];
-		
-		// Set id to use this directive correctly in multiple places
-		$scope.id = 'autoCompletePath'+ $elem.context.id
-		/*
-		 * We need a place to dump our auto-completion options
-		 */
-		$($elem).parent().append('<ul id="' + $scope.id +'"><ul>');
-
-		// Handle user clicks on auto-complete path options
-		$(document).on('click', '#' +$scope.id+ ' li span', function(e) {
-			// Set the input text box's value to that of the user selected path
-			var val = $(e.target).text();
-			$($elem).val(val);
-			// Need to trigger the input box's "input" event so Angular updates the model!
-			$elem.trigger('input'); 
-			
-			// If the user selected a directory, find more results..
-			if (val[val.length - 1] == '/') {
-				$scope.fetchFiles($($elem).val());
-			// Otherwise, remove the auto-complete options...
-			} else {
-				$('#' +$scope.id+ ' li').remove();
-			}
-		});
-
-		/*
-		 * Handle key-down events on the input box
-		 *
-		 * We need to ignore <TAB> presses here so we can auto-complete with <TAB>.
-		 * If we don't ignore here then <TAB> will move the user to the next field
-		 * in the form and our common-prefix-fill won't work later.
-		 */
-		$($elem).keydown(function(e) {
-			var code = e.keyCode || e.which;
-			var BACKSPACE = 8,
-				TAB = 9;
-
-			if (code == TAB)
-				return false;
-		});
-
-		/*
-		 * Handle key-up events on the input box
-		 */
-		$($elem).keyup(function(e) {
-			var code = e.keyCode || e.which;
-			var BACKSPACE = 8,
-				TAB = 9,
-				FORWARD_SLASH = 191;
-
-			if (code === FORWARD_SLASH) {
-				// Fetch new directory information from the server.
-				$scope.fetchFiles($(this).val());
-			} else if (code === TAB) {
-				// Attempt to auto-fill for the user.
-				$scope.handleTabPress();
-			} else if (code == BACKSPACE) {
-				// Need to properly handle the removal of directory information
-				// and the displaying of auto-complete options
-				$scope.handleBackSpace();
-			} else {
-				// Filter auto-complete options based on user input..
-				$scope.handleMiscKeyPress();
-			}
-
-			// This is being used so we can handle backspacing. The user might hold
-			// down the backspace key or select a section of text and delete. This allows
-			// us to compare the result to its prior state, which makes handling
-			// backspaces easier.
-			$scope.lastInputContents = $elem.val();
-		});
-
-		/*
-		 * Grab additional path information from the web-server
-		 *
-		 * Params:
-		 *		path - The path to get a directory listing of.
-		 */
-		// TODO Make this use $HTTP
-		$scope.fetchFiles = function(path) {
-			$.get($scope.baseURL + '/dir/list/' + path, {},
-				 function(data) {
-					 data = data['listing']
-					 $scope.setNewData(data);
-					 $scope.updateAutoComplete();
-				 }, 'json');
-		};
-
-		/*
-		 * Grab additional path information from the web-server and filter the
-		 * results based on the current input text.
-		 *
-		 * Params:
-		 *		path - The path to get a directory listing of.
-		 *
-		 * This is needed to handle deletion of selected text. It is possible that
-		 * the user will select text and delete only part of a word. The results
-		 * need to be filtered based on this partial input.
-		 */
-		// TODO Why isn't this using $http?!?!?! Because I copy and pasted!!!!
-		$scope.fetchFilesAndFilter = function(path) {
-			$.get($scope.baseURL + '/dir/list/' + path, {},
-				 function(data) {
-					 data = data['listing']
-					 $scope.setNewData(data);
-					 $scope.filterResults();
-					 $scope.updateAutoComplete();
-				 }, 'json');
-		};
-
-		/*
-		 * Handle directory data from the server.
-		 *
-		 * We store the entire directory information along with the remaining
-		 * possible options given the users current input. This lets us avoid
-		 * unnecessary calls to the server for directory information every time
-		 * the user deletes something.
-		 */
-		$scope.setNewData = function(data) {
-			$scope.autocomplete = data.sort();
-			$scope.possibleCompletes = $scope.autocomplete;
-		};
-
-		/* 
-		 * Handle <TAB> presses.
-		 *
-		 * Attempt to auto-complete options when the user presses <TAB>.
-		 */
-		$scope.handleTabPress = function() {
-			// If there's only one option available there's no points in trying to
-			// find a common prefix! Just set the value!
-			if ($scope.possibleCompletes.length === 1) {
-				$elem.val($scope.possibleCompletes[0]);
-
-				// Make sure more options are displayed if a directory was selected.
-				$scope.checkForMoreOptions();
-				$scope.updateAutoComplete();
-				return;
-			}
-
-			// Find the greatest common prefix amongst the remaining choices and set
-			// the input text to it.
-			var prefix = $scope.getLargestCommonPrefix($scope.possibleCompletes);
-			$elem.val(prefix);
-			$scope.updateAutoComplete();
-		};
-
-		/*
-		 * Handle Backspacing and option displaying.
-		 *
-		 * The auto-complete options needs to be displayed correctly when the user
-		 * removes directory information.
-		 */
-		$scope.handleBackSpace = function() {
-			var curInputVal = $elem.val();
-
-			// If the user deletes everything in the input box all we need to do
-			// is make sure that the auto-complete options aren't displayed.
-			if (curInputVal.length === 0) {
-				$('#' +$scope.id+ ' li').remove();
-				return;
-			}
-
-			// Figure out how much text the user removed from the input box.
-			var lengthDiff = $scope.lastInputContents.length - curInputVal.length;
-			// Grab the removed text.
-			var removedText = $scope.lastInputContents.substr(-lengthDiff);
-
-			// If the user deleted over a directory we need to fetch information on the
-			// previous directory for auto-completion.
-			if (removedText.indexOf('/') !== -1) {
-				var lastSlashIndex = curInputVal.lastIndexOf('/');
-
-				// If the remaining path still contains a directory...
-				if (lastSlashIndex !== -1) {
-					// Grab the section of the path that points to a valid directory,
-					// fetch the listing, and update the results.
-					var pathToSearch = curInputVal.slice(0, lastSlashIndex + 1);
-					$scope.fetchFilesAndFilter(pathToSearch);
-				} else {
-					// Delete the old auto-complete information in the case where the user
-					// completely removed path information.
-					$('#' +$scope.id+ ' li').remove();
-				}
-			} else {
-				// Otherwise, we just need to filter results based on the remaining input.
-				$scope.filterResults();
-				$scope.updateAutoComplete();
-			}
-		};
-
-		/* 
-		 * Handle all other key presses in the input box
-		 *
-		 * Filter the auto-complete options as the user types to ensure that only options
-		 * which are possible given the current input text are still displayed.
-		 */
-		$scope.handleMiscKeyPress = function() {
-			// Safely exit when there are no options available.
-			if ($scope.autocomplete === [])
-				return;
-
-			// Otherwise, filter the results.
-			$scope.filterResults();
-			$scope.updateAutoComplete();
-		};
-
-		/* 
-		 * When a path is auto-completed with <TAB> we need to check to see if it points
-		 * to a directory. If it does, we still need to fetch results!
-		 */
-		$scope.checkForMoreOptions = function() {
-			var path = $elem.val();
-			if (path[path.length - 1] === '/') {
-				$scope.fetchFiles(path);
-			}
-		};
-
-		/* 
-		 * Calculate the greatest common prefix of the passed options.
-		 *
-		 * Params:
-		 *		Options - An array of strings in which the greatest common prefix
-		 *				  should be found
-		 *
-		 * Returns:
-		 *		The greatest common prefix of the strings.
-		 *
-		 *
-		 * Note - For us, there will always be a prefix of at least '/' since this can't
-		 * possible be called without the users entering a starting directory. As a result,
-		 * we don't explicitly handle the case where there is 0 length common prefix.
-		 */
-		$scope.getLargestCommonPrefix = function(options) {
-			var index = 1;
-			var shortestString = options.reduce(function(a, b) { return a.length < b.length ? a : b; });
-			var longestString = options.reduce(function(a, b) { return a.length > b.length ? a : b; });
-			var	substringToCheck = shortestString[0];
-
-			while (longestString.indexOf(substringToCheck) !== -1) {
-				substringToCheck = shortestString.slice(0, ++index);
-			}
-
-			return longestString.slice(0, index - 1);
-		};
-
-		/* 
-		 * Filter the auto-complete options based on the current input.
-		 */
-		$scope.filterResults = function() {
-			$scope.possibleCompletes = $scope.autocomplete.filter(function(item, index, array) {
-				return (~item.indexOf($($elem).val()));
-			});
-
-			$scope.possibleCompletes.sort();
-		};
-
-		/*
-		 * Update the display of auto-complete options.
-		 */
-		$scope.updateAutoComplete = function() {
-			// Remove all the existing options
-			$('#' +$scope.id+ ' li').remove();
-
-			// We don't need to show anything if the user has completely selected
-			// the only existing option available.
-			if ($scope.possibleCompletes.length === 1) {
-				if ($scope.possibleCompletes[0] === $elem.val()) {
-					return;
-				}
-			}
-
-			// Display all the possible completes
-			$.each($scope.possibleCompletes, function(i, v) {
-				$('#' +$scope.id+ '').append($('<li>').html($('<span>').text(v)));
-			});
-		};
-	};
-
-	return {
-		link: link,
-		scope: true,
-		restrict: 'A'
-	};
-});

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/directives/previewmap.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/directives/previewmap.js b/ocw-ui/frontend-new/app/scripts/directives/previewmap.js
deleted file mode 100644
index 78aae8c..0000000
--- a/ocw-ui/frontend-new/app/scripts/directives/previewmap.js
+++ /dev/null
@@ -1,76 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc directive
- * @name ocwUiApp.directive:previewMap
- * @description
- * # previewMap
- */
-angular.module('ocwUiApp')
-.directive('previewMap', function($rootScope) {
-	return {
-		restrict: 'A',
-		scope: {dataset: '=previewMap', index: '=index'},
-		template: '<div id="{{dataset.name}}" class="preview-map"></div>',
-		replace: true,
-		link: function(scope, element, attrs) {
-
-			// Any attribute that contains {{}} interpolation will be set to null in the attrs
-			// parameter during the link function since the first $digest since the compilation
-			// has yet to run to evaluate it! We can't run a $digest in the middle of compilation,
-			// so using an $observe (or $watch) is the best way to get the values.
-			attrs.$observe('id', function(newId) {
-				var map = L.map(attrs.id, {
-					zoom: 0,
-					scrollWheelZoom: false,
-					zoomControl: false,
-					attributionControl: false,
-					worldCopyJump: true,
-				});
-
-				L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {}).addTo(map);
-
-				// Zoom the map to the dataset bound regions (or at least try our best to do so)
-				var datasetBounds = [[scope.dataset.latlonVals.latMax, scope.dataset.latlonVals.lonMin], 
-									 [scope.dataset.latlonVals.latMin, scope.dataset.latlonVals.lonMax]];
-				map.fitBounds(datasetBounds, {});
-
-				// Draw a colored overlay on the region of the map
-				var maplatlon = scope.dataset.latlonVals;
-				var bounds = [[maplatlon.latMax, maplatlon.lonMin], [maplatlon.latMin, maplatlon.lonMax]];
-
-				var polygon = L.rectangle(bounds,{
-					stroke: false,
-					fillColor: $rootScope.fillColors[1],
-					fillOpacity: 0.6
-				});
-
-				// Add layer to Group
-				var rectangleGroup = L.layerGroup();
-				rectangleGroup.addLayer(polygon);
-
-				// Add the overlay to the map
-				rectangleGroup.addTo(map);
-			});
-		}
-	};
-});

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/directives/timeline.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/directives/timeline.js b/ocw-ui/frontend-new/app/scripts/directives/timeline.js
deleted file mode 100644
index 760a819..0000000
--- a/ocw-ui/frontend-new/app/scripts/directives/timeline.js
+++ /dev/null
@@ -1,54 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc directive
- * @name ocwUiApp.directive:timeline
- * @description
- * # timeline
- */
-angular.module('ocwUiApp')
-.directive('timeline', function($rootScope, $window) {
-	return {
-		restrict: 'C',
-		replace: true,
-		transclude: true,
-		template: '<div id="OCWtimeline"></div>',
-		link: function(scope, element, attrs) {
-			// Instantiate timeline object.
-			$rootScope.timeline = new links.Timeline(document.getElementById('OCWtimeline'));
-
-			// Redraw the timeline whenever the window is resized
-			angular.element($window).bind('resize', function() {
-				$rootScope.timeline.checkResize();
-			});
-
-			var options = {
-				"width": "100%",
-				"showCurrentTime": false,
-				"moveable": false,
-				"zoomable": false
-			};
-
-			$rootScope.timeline.draw([], options);
-		}
-	}
-});

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/filters/isodatetomiddleendian.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/filters/isodatetomiddleendian.js b/ocw-ui/frontend-new/app/scripts/filters/isodatetomiddleendian.js
deleted file mode 100644
index 7fcd2a9..0000000
--- a/ocw-ui/frontend-new/app/scripts/filters/isodatetomiddleendian.js
+++ /dev/null
@@ -1,55 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc filter
- * @name ocwUiApp.filter:ISODateToMiddleEndian
- * @function
- * @description
- * # ISODateToMiddleEndian
- * Filter in the ocwUiApp.
- */
-angular.module('ocwUiApp')
-.filter('ISODateToMiddleEndian', function() {
-	return function(input) {
-		var original = input;
-
-		// Strip whitespace from the start and end of the string
-		input = input.replace(/(^\s+|\s+$)/g, '');
-
-		// ISO Standard says time is separated from Date with a 'T'. Our timestamps
-		// slightly modify that and use a space. We'll check for both here and prefer
-		// to split on a 'T' if it's available.
-		if (input.indexOf('T') != -1 || input.indexOf(' ') != -1) {
-			input = (input.indexOf('T') != -1) ? input.split('T')[0] : input.split(' ')[0];
-		} 
-		
-		// The components of the date should be split with hyphens. If we can't find them
-		// then the string is poorly formed.
-		if (input.indexOf('-') == -1 || input.split('-').length - 1 != 2) {
-			return original;
-		}
-
-		// At this point the date is probably valid and we should try to convert it!
-		var components = input.split('-');
-		return (components[1] + "/" + components[2] + "/" + components[0]);
-	};
-});

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/services/evaluationsettings.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/services/evaluationsettings.js b/ocw-ui/frontend-new/app/scripts/services/evaluationsettings.js
deleted file mode 100644
index b53842c..0000000
--- a/ocw-ui/frontend-new/app/scripts/services/evaluationsettings.js
+++ /dev/null
@@ -1,56 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc service
- * @name ocwUiApp.evaluationSettings
- * @description
- * # evaluationSettings
- * Service in the ocwUiApp.
- */
-angular.module('ocwUiApp')
-  .service('evaluationSettings', function($rootScope, $http) {
-    $http.get($rootScope.baseURL + '/processing/metrics/').then(function(data) {
-        var metrics_data = data['data']['metrics'];
-        var metrics = [];
-
-        for (var i = 0; i < metrics_data.length; ++i) {
-            metrics.push({'name': metrics_data[i], 'select': false});
-        }
-
-        settings['metrics'] = metrics;
-    });
-
-    var settings = {
-      'metrics': [],
-      'temporal': {
-        'options': ['daily', 'monthly', 'yearly'],
-        'selected': 'yearly',
-      },
-      'spatialSelect': null,
-    };
-
-    return {
-      getSettings: function() {
-        return settings;
-      }
-    };
-  });

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/services/regionselectparams.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/services/regionselectparams.js b/ocw-ui/frontend-new/app/scripts/services/regionselectparams.js
deleted file mode 100644
index cb3f4f8..0000000
--- a/ocw-ui/frontend-new/app/scripts/services/regionselectparams.js
+++ /dev/null
@@ -1,46 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc service
- * @name ocwUiApp.regionSelectParams
- * @description
- * # regionSelectParams
- * Service in the ocwUiApp.
- */
-angular.module('ocwUiApp')
-.service('regionSelectParams', function() {
-	var parameters = {
-		"areValid" : true,
-		"latMin"   : "",
-		"latMax"   : "",
-		"lonMin"   : "",
-		"lonMax"   : "",
-		"start"    : "",
-		"end"      : "",
-	};
-
-	return {
-		getParameters: function() {
-			return parameters;
-		},
-	};
-});

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/scripts/services/selecteddatasetinformation.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/scripts/services/selecteddatasetinformation.js b/ocw-ui/frontend-new/app/scripts/services/selecteddatasetinformation.js
deleted file mode 100644
index 613cfb8..0000000
--- a/ocw-ui/frontend-new/app/scripts/services/selecteddatasetinformation.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-'use strict';
-
-/**
- * @ngdoc service
- * @name ocwUiApp.selectedDatasetInformation
- * @description
- * # selectedDatasetInformation
- * Service in the ocwUiApp.
- */
-angular.module('ocwUiApp')
-.service('selectedDatasetInformation', function() {
-	var datasets = [];
-
-	return {
-		getDatasets: function() {
-			return datasets;
-		},
-		getDatasetCount: function() {
-			return datasets.length;
-		},
-		// TODO: Define the structure of the objects that are added with addDataset.
-		addDataset: function(dataset) {
-			// All datasets need a shouldDisplay attribute that is used when rendering
-			// the overlays on the map!
-			dataset.shouldDisplay = false;
-			// The regrid attribute indicates which dataset should be used for spatial regridding
-			dataset.regrid = false;
-
-			datasets.push(dataset);
-		},
-		removeDataset: function(index) {
-			datasets.splice(index, 1);
-		},
-		clearDatasets: function() {
-			datasets.length = 0;
-		},
-	};
-});

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/styles/main.css
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/styles/main.css b/ocw-ui/frontend-new/app/styles/main.css
deleted file mode 100644
index fb42ccd..0000000
--- a/ocw-ui/frontend-new/app/styles/main.css
+++ /dev/null
@@ -1,120 +0,0 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements.  See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership.  The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License.  You may obtain a copy of the License at
- *
- *    http: *www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied.  See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-body {
-	
-}
-
-#header-img {
-	
-}
-
-#header-title {
-	
-}
-
-#OCW-powered {
-	
-}
-
-#main-container {
-    margin-top: 20px;
-	min-height: 400px;
-	height: auto !important;
-	height: 400px;
-}
-
-#datasetDiv {
-	height: 750px;
-	overflow-y: auto;
-	overflow-x: hidden;
-}
-
-#ocw-navbar {
-    margin-bottom: 0;
-}
-
-#map { height: 500px; }
-
-/* Small preview map that is displayed alongside dataset information */
-.preview-map {
-	height: 100px;
-	width: 100px;
-}
-
-.small-alert {
-	font-size: 12px;
-	color: green;
-	margin-top: 4px;
-	margin-left: 10px;
-}
-
-.colorSquare {
-	margin-top: 3px;
-	height: 10px;
-	width: 10px;
-}
-
-ul { list-style-type: none; }
-
-.no-color-link { color: #000000; }
-.no-color-link:hover { color: #000000; text-decoration: none; }
-.no-color-link:visited { color: #000000; }
-.no-color-link:active { color: #000000; }
-
-/* Remove the grayed out close button in modal headers */
-.modal-header .close { opacity: 1; }
-
-/* Remove the grayed out close button in modal footers */
-.modal-footer .close { opacity: 1; }
-
-/** 
-  * Timeline 
-  */
-div#OCWtimeline {
-	margin-top: 20px;
-	padding-bottom: 20px;
-}
-
-div.timeline-event {
-	border: none;
-	background: none;
-}
-
-div.timeline-event-content { margin: 0; }
-
-div.ocw-bar { height: 5px; }
-
-/**
-  * Results
-  */
-#results-sidebar {
-	min-height: 400px;
-	height: auto !important;
-	height: 400px;
-}
-
-#results-sidebar-header { font-size: 14px; }
-
-/* Helpers for vertical offsets */
-.top3 { margin-top: 3%; }
-.top7 { margin-top: 7%; }
-.top14 { margin-top:14%; }
-.top21 { margin-top:21%; }
-.top42 { margin-top:42%; }

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/views/main.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/views/main.html b/ocw-ui/frontend-new/app/views/main.html
deleted file mode 100644
index 2f428e5..0000000
--- a/ocw-ui/frontend-new/app/views/main.html
+++ /dev/null
@@ -1,274 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<!-- Modal for evaluation settings -->
-<div class="modal fade" id="evaluationSettingsModal" role="dialog" aria-labelledby="datasetSelectModalLabel" aria-hidden="true">
-  <div class="modal-dialog">
-    <div class="modal-content">
-      <div class="modal-header">
-        <button class="close" data-dismiss="modal">&times;</button>
-        <h3>Settings</h3>
-      </div>
-      <div class="modal-body" ng-controller="SettingsCtrl">
-        <h4>Select the metrics you would like to run.</h4>
-        <div ng-repeat="metric in settings.metrics">
-          <label><input type="checkbox" ng-model="metric.select"> {{metric.name}}</label>
-        </div>
-        <hr />
-        <h4>Select how you would like to temporally re-grid the datasets.</h4>
-        <select class="form-control" ng-model="settings.temporal.selected" ng-options="opt for opt in settings.temporal.options"></select>
-        <hr />
-        <h4>Select which dataset to use as the reference.</h4>
-        <select class="form-control" ng-model="settings.spatialSelect" ng-options="dataset as dataset.name for dataset in datasets"></select>
-        <hr />
-        <!-- Temporarily hidden for work on CLIMATE-365.-->
-        <div ng-hide=true>
-        <h4>Select a file which will define the bounds of subregions.</h4>
-        <form class="form-inline" autocomplete="off">
-          <input id="subregionFileInput" predictive-file-browser-input ng-model="settings.subregionFile" type="text" class="input-xlarge" autocomplete="off" />
-        </form>
-        </div>
-        <!--End hidden section for CLIMATE-365-->
-      </div>
-      <div class="modal-footer">
-        <button class="btn btn-warning cancel" data-dismiss="modal">Close</button>
-      </div>
-    </div>
-  </div>
-</div>
-<!-- END - Modal for evaluation settings -->
-
-<div class="row">
-  <div class="col-md-12">
-    <div class="row">
-      <!-- Dataset Select and Display Column -->
-      <div class="col-md-6">
-        <!--Dataset Select Controls-->
-        <div ng-controller="DatasetSelectCtrl">
-          <div class="row">
-            <div class="col-md-1 col-md-offset-10">
-              <button class="btn btn-link no-color-link" ng-click="clearDatasets()" ng-disabled="shouldDisableClearButton()">
-                <span tooltip-placement="left" tooltip-popup-delay="700" tooltip="Clear Datasets">
-                  <i class="fa fa-trash-o fa-2x"></i>
-                </span>
-              </button>
-            </div>
-            <div class="col-md-1">
-              <button class="btn btn-link no-color-link" data-toggle="modal" data-target="#datasetSelect">
-                <span tooltip-placement="left" tooltip-popup-delay="700" tooltip="Add Dataset">
-                  <i class="fa fa-plus fa-2x"></i>
-                </span>
-              </button>
-            </div>
-          </div>
-          <!-- Modal for dataset selection -->
-          <div class="modal fade" id="datasetSelect" role="dialog" aria-labelledby="datasetSelectModalLabel" aria-hidden="true">
-            <div class="modal-dialog">
-              <div class="modal-content">
-                <div class="modal-header">
-                  <h3>Dataset Select</h3>
-                </div>
-                <div class="modal-body">
-                  <tabset>
-                    <tab ng-repeat="tab in templates" heading="{{tab.title}}" active="tab.active" disabled="tab.disabled">
-                      <div ng-include src="tab.url"></div>
-                    </tab>
-                    <li class="pull-right">Queued Datasets: {{datasetCount.length}}</li>
-                  </tabset>
-                </div>
-                <div class="modal-footer">
-                  <button class="btn btn-warning cancel" data-dismiss="modal">Close</button>
-                </div>
-              </div>
-            </div>
-          </div>
-          <!-- END - Modal for dataset selection -->
-          <div class="row">
-            <div class="col-md-12">
-            <hr />
-            </div>
-          </div>
-        </div>
-        <!--Dataset display-->
-        <div ng-controller="DatasetDisplayCtrl" id="datasetDiv">
-            <div ng-repeat="dataset in datasets">
-              <div class="row">
-                <!--Data section-->
-                <div class="col-md-8 col-md-offset-1 muted">
-                  {{dataset.name}}
-                </div>
-                <div class="col-md-1 col-md-offset-2">
-                  <span tooltip-placement="left" tooltip-popup-delay="700" tooltip="Remove Dataset">  
-                    <a class="no-color-link" href="#" ng-click="removeDataset($index)">
-                      <i class="fa fa-remove"></i>
-                    </a>
-                  </span>
-                </div>
-              </div>
-              <!--Time Values!-->
-              <div class="row">
-                <!--Dataset Info Section-->
-                <div class="col-md-9">
-                  <div class="row">
-                    <div class="col-md-2 col-md-offset-1 text-center">Start:</div>
-                    <div class="col-md-2">
-                      <div class="col-md-2 text-center">{{dataset.timeVals.start | ISODateToMiddleEndian}}</div>
-                    </div>
-                    <div class="col-md-2 text-center">End:</div>
-                    <div class="col-md-2">
-                      <div class="col-md-2 text-center">{{dataset.timeVals.end | ISODateToMiddleEndian}}</div>
-                    </div>
-                  </div>
-                  <!--Lat/Long Values!-->
-                  <div class="row">
-                    <div class="col-md-2 col-md-offset-1 text-center">North:</div>
-                    <div class="col-md-2 text-center">
-                      {{dataset.latlonVals.latMax | number:2}}
-                    </div>
-                    <div class="col-md-2 text-center">West:</div>
-                    <div class="col-md-2 text-center">
-                      {{dataset.latlonVals.lonMin | number:2}}
-                    </div>
-                  </div>
-                  <div class="row">
-                    <div class="col-md-2 col-md-offset-1 text-center">South:</div>
-                    <div class="col-md-2 text-center">
-                      {{dataset.latlonVals.latMin | number:2}}
-                    </div>
-                    <div class="col-md-2 text-center">East:</div>
-                    <div class="col-md-2 text-center">
-                      {{dataset.latlonVals.lonMax | number:2}}
-                    </div>
-                  </div>
-                </div>
-                <!--Preview Map Section-->
-                <div class="col-md-3">
-                  <!--If the dataset is global we show a picture of a globe instead of the actual map-->
-                  <div ng-hide="dataset.latlonVals.lonMin == -180 && dataset.latlonVals.lonMax == 180 && 
-                                dataset.latlonVals.latMin == -90 && dataset.latlonVals.latMax == 90" 
-                                preview-map="dataset" index="$index"></div>
-                  <div ng-show="dataset.latlonVals.lonMin == -180 && dataset.latlonVals.lonMax == 180 &&
-                                dataset.latlonVals.latMin == -90 && dataset.latlonVals.latMax == 90">
-                    <img src="img/globe.png" class="preview-map">
-                  </div>
-                </div>
-              </div>
-              <div class="row">
-                <div class="col-md-6 col-md-offset-3"><hr /></div>
-              </div>
-            </div>
-          </div>
-      </div>
-
-      <!-- Map, Timeline, and Parameter Control Column -->
-      <div class="col-md-6">
-        <!--Map-->
-        <div class="row"  ng-controller="WorldMapCtrl">
-          <div class="col-md-12">
-            <leaflet-map id="map"></leaflet-map>
-          </div>
-        </div>
-        
-        <!--Timeline-->
-        <div class="row">
-          <div class="col-md-12" ng-controller="TimelineCtrl">
-            <div class="timeline"></div>
-          </div>
-        </div>
-        
-        <div class="row">
-          <div class="col-md-12" ng-controller="ParameterSelectCtrl">
-            <div class="row top3">
-              <div class="col-md-2 text-center">Start Date:</div>
-              <div class="col-md-4">
-                <form>
-                  <!--This styling HAD to be done inline. Using a class wouldn't work and for some -->
-                  <!--reason the input boxes refused to be 100% wide when their span size was set.-->
-                  <input ng-disabled="shouldDisableControls()" on-blur="checkParameters();" ng-model="displayParams.start" ui-date="datepickerSettings" ui-date-format="yy-mm-dd" type="text" class="col-md-4 text-center" style="width:100%" />
-                </form>
-              </div>
-              <div class="col-md-2 text-center">End Date:</div>
-              <div class="col-md-4">
-                <form>
-                  <!--This styling HAD to be done inline. Using a class wouldn't work and for some -->
-                  <!--reason the input boxes refused to be 100% wide when their span size was set.-->
-                  <input ng-disabled="shouldDisableControls()" on-blur="checkParameters();" ng-model="displayParams.end" ui-date="datepickerSettings" ui-date-format="yy-mm-dd" type="text" class="col-md-4 text-center" style="width:100%"/>
-                </form>
-              </div>
-            </div>
-            <div class="row top3">
-              <div class="col-md-2 text-center">North:</div>
-              <div class="col-md-4">
-                <form action="">
-                  <input ng-disabled="shouldDisableControls()" ng-model="displayParams.latMax"  on-blur="checkParameters();" type="text" class="col-md-4 text-center" style="width:100%"/>
-                </form>
-              </div>
-              <div class="col-md-2 text-center">South:</div>
-              <div class="col-md-4">
-                <form action="">
-                  <!--This styling HAD to be done inline. Using a class wouldn't work and for some -->
-                  <!--reason the input boxes refused to be 100% wide when their span size was set.-->
-                  <input ng-disabled="shouldDisableControls()" ng-model="displayParams.latMin" on-blur="checkParameters();" type="text" class="col-md-4 text-center" style="width:100%"/>
-                </form>
-              </div>
-            </div>
-            <div class="row top3">
-              <div class="col-md-2 text-center">East:</div>
-              <div class="col-md-4">
-                <form>
-                  <!--This styling HAD to be done inline. Using a class wouldn't work and for some -->
-                  <!--reason the input boxes refused to be 100% wide when their span size was set.-->
-                  <input ng-disabled="shouldDisableControls()" ng-model="displayParams.lonMax" on-blur="checkParameters();" type="text" class="col-md-4 text-center" style="width:100%"/>
-                </form>
-              </div>
-              <div class="col-md-2 text-center">West:</div>
-              <div class="col-md-4">
-                <form>
-                  <!--This styling HAD to be done inline. Using a class wouldn't work and for some -->
-                  <!--reason the input boxes refused to be 100% wide when their span size was set.-->
-                  <input ng-disabled="shouldDisableControls()" ng-model="displayParams.lonMin" on-blur="checkParameters();"; type="text" class="col-md-4 text-center" style="width:100%"/>
-                </form>
-              </div>
-            </div>
-            <div class="row top3">
-              <div class="col-md-2 col-md-offset-6">
-                <!--<button class="btn btn-link no-color-link pull-right" bootstrap-modal-open="evaluationSettings">-->
-                <button class="btn btn-link no-color-link pull-right" data-toggle="modal" data-target="#evaluationSettingsModal">
-                  <span tooltip-placement="left" tooltip-popup-delay="700" tooltip="Settings">
-                    <span class="fa-stack fa-lg">
-                      <i class="fa fa-square-o fa-stack-2x"></i>
-                      <i class="fa fa-cogs fa-stack-1x"></i>
-                    </span>
-                  </span>
-                </button>
-              </div>
-              <div class="col-md-4">
-                <button ng-click="runEvaluation()" ng-disabled="shouldDisableEvaluateButton()" class="btn btn-block btn-primary">
-                  <div ng-hide="runningEval">Evaluate</div>
-                  <div ng-show="runningEval"><i class="fa fa-spinner fa-spin"></i></div>
-                </button>
-              </div>
-            </div>
-          </div>
-        </div>
-      </div>
-      </div>
-  </div>
-</div>
-

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/views/modelselect.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/views/modelselect.html b/ocw-ui/frontend-new/app/views/modelselect.html
deleted file mode 100644
index 9bc128f..0000000
--- a/ocw-ui/frontend-new/app/views/modelselect.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<div class="container">
-  <div class="row">
-    <div class="span10 offset1 columns">
-      <div class="row">
-        <div class="span10">
-          <center>
-            <form id="modelSelectorForm">
-              <input type="file" name="modelSelector">
-            </form>
-          </center>
-        </div>
-      </div>
-      <div class="row">
-        <div class="span10 offset2">
-          <form class="form-horizontal" id="parameterSelectorForm">
-            <div class="control-group">
-              <label class="control-label" for="paramSelect">Parameter Value</label>
-              <div class="controls">
-                <select id="paramSelect">
-                  <option ng-repeat="param in modelParameters">
-                    {{param.text}}
-                  </option>
-                </select>
-              </div>
-            </div>
-            <div class="control-group">
-              <label class="control-label" for="latSelect">Latitude Variable</label>
-              <div class="controls">
-                <select id="latSelect">
-                  <option ng-repeat="lat in latVariables">
-                    {{lat.text}}
-                  </option>
-                </select>
-              </div>
-            </div>
-            <div class="control-group">
-              <label class="control-label" for="lonSelect">Longitude Variable</label>
-              <div class"controls">
-                <select id="lonSelect">
-                  <option ng-repeat="lon in lonVariables">
-                    {{lon.text}}
-                  </option>
-                </select>
-              </div>
-            </div>
-            <div class="control-group">
-              <label class="control-label" for="dateTimeSelect">Date/Time Variable</label>
-              <div class="controls">
-                <select id="dateTimeSelect">
-                  <option ng-repeat="dateTime in dateTimeVariables">
-                    {{dateTime.text}}
-                  </option>
-                </select>
-              </div>
-            </div>
-            <div class="control-group">
-              <div class="controls">
-                <button type="submit" class="btn btn-warn">Cancel</button>
-                <button type="submit" class="btn">Add Model</button>
-              </div>
-            </div>
-          </form>
-        </div>
-      </div>
-    </div>
-  </div>
-</div>
-

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/views/results.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/views/results.html b/ocw-ui/frontend-new/app/views/results.html
deleted file mode 100644
index 432bba1..0000000
--- a/ocw-ui/frontend-new/app/views/results.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<div class="row">
-  <div class="col-md-3">
-    <div id="results-sidebar" class="pa-sidebar well well-small">
-      <ul class="nav nav-list">
-        <li id="results-sidebar-header" class="nav-header">Latest Run Results</li>
-        <li ng-repeat="result in results"
-            ng-class="{ active: $state.includes('results.detail') && $stateParams.resultId == result }">
-          <a href="#/results/{{result.replace('/', '')}}" >{{result}}</a>
-        </li>
-      </ul>
-      <div ui-view="menu"></div>
-    </div>
-  </div>
-  <div class="col-md-9" ui-view ng-animate="{enter:'fade-enter'}"></div>
-</div>

http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/views/resultsdetail.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/views/resultsdetail.html b/ocw-ui/frontend-new/app/views/resultsdetail.html
deleted file mode 100644
index 4083ff3..0000000
--- a/ocw-ui/frontend-new/app/views/resultsdetail.html
+++ /dev/null
@@ -1,30 +0,0 @@
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-   http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-
-<div>
-  <h2>{{result}}</h2>
-  <div class="row text-center">
-    <div class="{{alertClass}}">{{alertMessage}}</div>
-    <ul>
-      <li ng-repeat="figure in figures">
-        <img class="img-responsive" ng-src="{{baseURL}}/static/eval_results/{{figure}}" alt="" />
-      </li>
-    </ul>
-  </div>
-</div>


Mime
View raw message