You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@climate.apache.org by jo...@apache.org on 2014/08/28 05:08:09 UTC
[25/28] CLIMATE-512 - Replace frontend with new Yeoman/Grunt/Bower
frontend
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/views/resultslist.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/views/resultslist.html b/ocw-ui/frontend-new/app/views/resultslist.html
deleted file mode 100644
index f4664c6..0000000
--- a/ocw-ui/frontend-new/app/views/resultslist.html
+++ /dev/null
@@ -1,21 +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.
--->
-
-<h4>Select one of your previous runs. If none are displayed, please return
- to the main page and start one!</h4>
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/views/selectobservation.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/views/selectobservation.html b/ocw-ui/frontend-new/app/views/selectobservation.html
deleted file mode 100644
index fd10ff8..0000000
--- a/ocw-ui/frontend-new/app/views/selectobservation.html
+++ /dev/null
@@ -1,80 +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 ng-controller="ObservationSelectCtrl">
- <div class="row">
- <div class="col-md-12">
- <div class="row">
- <!--<form class="form-inline" autocomplete="off">-->
- <form class="form" autocomplete="off">
- <div class="form-group">
- <div class="col-md-9">
- <input id="observationFileInput" predictive-file-browser-input ng-model="filePathInput" type="text" class="form-control" autocomplete="off" placeholder="Navigate to a .nc file. Start by typing '/'" />
- </div>
- <div class="col-md-2">
- <button class="btn" ng-click="uploadLocalFile()" ng-disabled="shouldDisableLoadButton()">
- <div ng-hide="loadingFile">Parse File</div>
- <div ng-show="loadingFile"><i class="icon-spinner icon-spin"></i></div>
- </button>
- </div>
- </div>
- </form>
- </div>
- <hr />
- <div class="row top3">
- <div class="col-md-5 text-center">
- Evaluation Variable
- </div>
- <div class="col-md-6">
- <select class="form-control" ng-model="paramSelect" ng-options="param for param in params"></select>
- </div>
- </div>
- <div class="row top3">
- <div class="col-md-5 text-center">
- Latitude Variable
- </div>
- <div class="col-md-6">
- <select class="form-control" ng-model="latsSelect" ng-options="lat for lat in lats"></select>
- </div>
- </div>
- <div class="row top3">
- <div class="col-md-5 text-center">
- Longitude Variable
- </div>
- <div class="col-md-6">
- <select class="form-control" ng-model="lonsSelect" ng-options="lon for lon in lons"></select>
- </div>
- </div>
- <div class="row top3">
- <div class="col-md-5 text-center">
- Date/Time Variable
- </div>
- <div class="col-md-6">
- <select class="form-control" ng-model="timeSelect" ng-options="time for time in times"></select>
- </div>
- </div>
- </div>
- </div>
- <div class="row top3">
- <div class="col-md-3 col-md-offset-1">
- <button class="btn btn-primary btn-block" ng-click="addDataSet()">Add Dataset</button>
- </div>
- <div class="pull-left small-alert" ng-show="fileAdded">Successfully added dataset...</div>
- </div>
-</div>
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/app/views/selectrcmed.html
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/app/views/selectrcmed.html b/ocw-ui/frontend-new/app/views/selectrcmed.html
deleted file mode 100644
index 6b09f48..0000000
--- a/ocw-ui/frontend-new/app/views/selectrcmed.html
+++ /dev/null
@@ -1,40 +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 ng-controller="RcmedSelectionCtrl">
- <div class="row">
- <div class="col-md-10 col-md-offset-1">
- <div class="row top3">Select the RCMED dataset that you would like use.</div>
- <div class="row top3">
- <select ng-change="dataSelectUpdated()" class="form-control" ng-model="datasetSelection" ng-options="obs as obs.longname for obs in availableObs"></select>
- </div>
- <div class="row top3">Select the dataset parameter that you would like to test.</div>
- <div class="row top3">
- <select class="form-control" ng-model="parameterSelection" ng-options="param as param.shortname for param in retrievedObsParams"></select>
- </div>
-
- <div class="row top3">
- <div class="col-md-3">
- <button class="btn btn-primary btn-block-left" ng-click="addObservation()">Add Observation</button>
- </div>
- <div class="pull-left small-alert" ng-show="fileAdded">Successfully added dataset...</div>
- </div>
- </div>
- </div>
-</div>
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/bower.json
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/bower.json b/ocw-ui/frontend-new/bower.json
deleted file mode 100644
index d288a19..0000000
--- a/ocw-ui/frontend-new/bower.json
+++ /dev/null
@@ -1,25 +0,0 @@
-{
- "name": "ocw-ui",
- "version": "0.0.0",
- "dependencies": {
- "angular": "1.2.16",
- "json3": "~3.3.1",
- "es5-shim": "~3.1.0",
- "bootstrap": "~3.2.0",
- "angular-resource": "1.2.16",
- "angular-cookies": "1.2.16",
- "angular-animate": "1.2.16",
- "angular-route": "1.2.16",
- "angular-ui-router": "angular-ui/ui-router#~0.2.10",
- "leaflet": "~0.7.3",
- "chap-links-timeline": "~2.6.1",
- "components-font-awesome": "~4.1.0",
- "angular-bootstrap": "~0.11.0",
- "angular-ui-date": "~0.0.3"
- },
- "devDependencies": {
- "angular-mocks": "1.2.16",
- "angular-scenario": "1.2.16"
- },
- "appPath": "app"
-}
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/package.json
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/package.json b/ocw-ui/frontend-new/package.json
deleted file mode 100644
index be2f597..0000000
--- a/ocw-ui/frontend-new/package.json
+++ /dev/null
@@ -1,40 +0,0 @@
-{
- "name": "ocwui",
- "version": "0.0.0",
- "dependencies": {},
- "devDependencies": {
- "grunt": "^0.4.1",
- "grunt-autoprefixer": "^0.7.3",
- "grunt-concurrent": "^0.5.0",
- "grunt-contrib-clean": "^0.5.0",
- "grunt-contrib-concat": "^0.4.0",
- "grunt-contrib-connect": "^0.7.1",
- "grunt-contrib-copy": "^0.5.0",
- "grunt-contrib-cssmin": "^0.9.0",
- "grunt-contrib-htmlmin": "^0.3.0",
- "grunt-contrib-imagemin": "^0.7.0",
- "grunt-contrib-jshint": "^0.10.0",
- "grunt-contrib-uglify": "^0.4.0",
- "grunt-contrib-watch": "^0.6.1",
- "grunt-filerev": "^0.2.1",
- "grunt-google-cdn": "^0.4.0",
- "grunt-karma": "^0.8.3",
- "grunt-newer": "^0.7.0",
- "grunt-ngmin": "^0.0.3",
- "grunt-svgmin": "^0.4.0",
- "grunt-usemin": "^2.1.1",
- "grunt-wiredep": "^1.8.0",
- "jshint-stylish": "^0.2.0",
- "karma": "^0.12.17",
- "karma-jasmine": "^0.1.5",
- "karma-phantomjs-launcher": "^0.1.4",
- "load-grunt-tasks": "^0.4.0",
- "time-grunt": "^0.3.1"
- },
- "engines": {
- "node": ">=0.10.0"
- },
- "scripts": {
- "test": "grunt test"
- }
-}
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/.jshintrc
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/.jshintrc b/ocw-ui/frontend-new/test/.jshintrc
deleted file mode 100644
index b1be025..0000000
--- a/ocw-ui/frontend-new/test/.jshintrc
+++ /dev/null
@@ -1,36 +0,0 @@
-{
- "node": true,
- "browser": true,
- "esnext": true,
- "bitwise": true,
- "camelcase": true,
- "curly": true,
- "eqeqeq": true,
- "immed": true,
- "indent": 2,
- "latedef": true,
- "newcap": true,
- "noarg": true,
- "quotmark": "single",
- "regexp": true,
- "undef": true,
- "unused": true,
- "strict": true,
- "trailing": true,
- "smarttabs": true,
- "globals": {
- "after": false,
- "afterEach": false,
- "angular": false,
- "before": false,
- "beforeEach": false,
- "browser": false,
- "describe": false,
- "expect": false,
- "inject": false,
- "it": false,
- "jasmine": false,
- "spyOn": false
- }
-}
-
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/karma.conf.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/karma.conf.js b/ocw-ui/frontend-new/test/karma.conf.js
deleted file mode 100644
index 744d927..0000000
--- a/ocw-ui/frontend-new/test/karma.conf.js
+++ /dev/null
@@ -1,86 +0,0 @@
-// Karma configuration
-// http://karma-runner.github.io/0.12/config/configuration-file.html
-// Generated on 2014-07-15 using
-// generator-karma 0.8.3
-
-module.exports = function(config) {
- 'use strict';
-
- config.set({
- // enable / disable watching file and executing tests whenever any file changes
- autoWatch: true,
-
- // base path, that will be used to resolve files and exclude
- basePath: '../',
-
- // testing framework to use (jasmine/mocha/qunit/...)
- frameworks: ['jasmine'],
-
- // list of files / patterns to load in the browser
- files: [
- 'bower_components/angular/angular.js',
- 'bower_components/angular-mocks/angular-mocks.js',
- 'bower_components/angular-animate/angular-animate.js',
- 'bower_components/angular-cookies/angular-cookies.js',
- 'bower_components/angular-resource/angular-resource.js',
- 'bower_components/angular-route/angular-route.js',
- 'bower_components/angular-animate/angular-animate.js',
- 'bower_components/angular-bootstrap/ui-bootstrap.js',
- // For some reason this causes the tests to completely fail to run
- // if it is uncommented.
- //'bower_components/angular-scenario/angular-scenario.js',
- 'bower_components/angular-ui-date/src/date.js',
- 'bower_components/angular-ui-router/release/angular-ui-router.js',
- 'bower_components/chap-links-timeline/timeline.js',
- 'bower_components/jquery/dist/jquery.js',
- 'bower_components/jquery-ui/jquery-ui.js',
- 'bower_components/leaflet/dist/leaflet.js',
- 'app/scripts/**/*.js',
- 'test/mock/**/*.js',
- 'test/spec/**/*.js'
- ],
-
- // list of files / patterns to exclude
- exclude: [],
-
- // web server port
- port: 8080,
-
- // Start these browsers, currently available:
- // - Chrome
- // - ChromeCanary
- // - Firefox
- // - Opera
- // - Safari (only Mac)
- // - PhantomJS
- // - IE (only Windows)
- browsers: [
- 'PhantomJS',
- //'Chrome'
- ],
-
- // Which plugins to enable
- plugins: [
- 'karma-phantomjs-launcher',
- 'karma-chrome-launcher',
- 'karma-jasmine'
- ],
-
- // Continuous Integration mode
- // if true, it capture browsers, run tests and exit
- singleRun: false,
-
- colors: true,
-
- // level of logging
- // possible values: LOG_DISABLE || LOG_ERROR || LOG_WARN || LOG_INFO || LOG_DEBUG
- logLevel: config.LOG_INFO,
-
- // Uncomment the following lines if you are using grunt's server to run the tests
- // proxies: {
- // '/': 'http://localhost:9000/'
- // },
- // URL root prevent conflicts with the site root
- // urlRoot: '_karma_'
- });
-};
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/controllers/datasetdisplay.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/controllers/datasetdisplay.js b/ocw-ui/frontend-new/test/spec/controllers/datasetdisplay.js
deleted file mode 100644
index 15a4a02..0000000
--- a/ocw-ui/frontend-new/test/spec/controllers/datasetdisplay.js
+++ /dev/null
@@ -1,59 +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';
-
-describe('Controller: DatasetDisplayCtrl', function () {
-
- // load the controller's module
- beforeEach(module('ocwUiApp'));
-
- var DatasetdisplayctrlCtrl,
- scope;
-
- // Initialize the controller and a mock scope
- beforeEach(inject(function ($controller, $rootScope) {
- scope = $rootScope.$new();
- DatasetdisplayctrlCtrl = $controller('DatasetDisplayCtrl', {
- $scope: scope
- });
- }));
-
- it('should initialize the removeDataset function', function() {
- scope.datasets.push(1);
- scope.datasets.push(2);
-
- expect(scope.datasets[0]).toBe(1);
-
- scope.removeDataset(0);
-
- expect(scope.datasets[0]).toBe(2);
- });
-
- it('should initialize the removeDataset function', function() {
- scope.datasets.push(1);
- scope.datasets.push(2);
-
- expect(scope.datasets[0]).toBe(1);
-
- scope.removeDataset(0);
-
- expect(scope.datasets[0]).toBe(2);
- });
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/controllers/datasetselect.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/controllers/datasetselect.js b/ocw-ui/frontend-new/test/spec/controllers/datasetselect.js
deleted file mode 100644
index abaeb43..0000000
--- a/ocw-ui/frontend-new/test/spec/controllers/datasetselect.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';
-
-describe('Controller: DatasetSelectCtrl', function () {
-
- // load the controller's module
- beforeEach(module('ocwUiApp'));
-
- var DatasetselectCtrl,
- scope;
-
- // Initialize the controller and a mock scope
- beforeEach(inject(function ($controller, $rootScope) {
- scope = $rootScope.$new();
- DatasetselectCtrl = $controller('DatasetSelectCtrl', {
- $scope: scope
- });
- }));
-
- it('should initialize the disable clear button function', function() {
- inject(function(selectedDatasetInformation) {
- expect(scope.shouldDisableClearButton()).toBe(true);
- selectedDatasetInformation.addDataset({});
- expect(scope.shouldDisableClearButton()).toBe(false);
- });
- });
-
- it('should initialize the clear datasets function', function() {
- inject(function(selectedDatasetInformation) {
- selectedDatasetInformation.addDataset({});
- expect(selectedDatasetInformation.getDatasetCount()).toBe(1);
- scope.clearDatasets();
- expect(selectedDatasetInformation.getDatasetCount()).toBe(0);
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/controllers/main.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/controllers/main.js b/ocw-ui/frontend-new/test/spec/controllers/main.js
deleted file mode 100644
index dad1469..0000000
--- a/ocw-ui/frontend-new/test/spec/controllers/main.js
+++ /dev/null
@@ -1,41 +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';
-
-describe('Controller: MainCtrl', function () {
-
- // load the controller's module
- beforeEach(module('ocwUiApp'));
-
- var MainCtrl,
- scope;
-
- // Initialize the controller and a mock scope
- beforeEach(inject(function ($controller, $rootScope) {
- scope = $rootScope.$new();
- MainCtrl = $controller('MainCtrl', {
- $scope: scope
- });
- }));
-
- it('should attach a list of awesomeThings to the scope', function () {
- expect(scope.awesomeThings.length).toBe(3);
- });
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/controllers/observationselect.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/controllers/observationselect.js b/ocw-ui/frontend-new/test/spec/controllers/observationselect.js
deleted file mode 100644
index f544e22..0000000
--- a/ocw-ui/frontend-new/test/spec/controllers/observationselect.js
+++ /dev/null
@@ -1,122 +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';
-
-describe('Controller: ObservationSelectCtrl', function () {
-
- // load the controller's module
- beforeEach(module('ocwUiApp'));
-
- var ObservationselectCtrl,
- scope;
-
- // Initialize the controller and a mock scope
- beforeEach(inject(function ($controller, $rootScope) {
- scope = $rootScope.$new();
- ObservationselectCtrl = $controller('ObservationSelectCtrl', {
- $scope: scope
- });
- }));
-
- it('should grab the default set of selected datasets from the service', function() {
- expect(typeof scope.datasetCount).toBe('object');
- expect(Object.keys(scope.datasetCount).length).toBe(0);
- });
-
- it('should initialize option arrays and default to the first element', function() {
- expect(scope.params.length).toBe(1);
- expect(scope.lats.length).toBe(1);
- expect(scope.lons.length).toBe(1);
- expect(scope.times.length).toBe(1);
-
- expect(scope.params[0]).toEqual("Please select a file above");
- expect(scope.lats[0]).toEqual("Please select a file above");
- expect(scope.lons[0]).toEqual("Please select a file above");
- expect(scope.times[0]).toEqual("Please select a file above");
- });
-
- it('should initialize scope attributes properly', function() {
- inject(function($httpBackend, $rootScope, $controller) {
- $rootScope.baseURL = "http://localhost:8082"
- $httpBackend.expectJSONP($rootScope.baseURL + '/dir/path_leader/?callback=JSON_CALLBACK').
- respond(200, {'leader': '/usr/local/ocw'});
- $httpBackend.whenGET('views/main.html').respond(200);
- $httpBackend.flush();
-
- expect(scope.pathLeader).toEqual('/usr/local/ocw');
- expect(scope.loadingFile).toBe(false);
- expect(scope.fileAdded).toBe(false);
- expect(typeof scope.latLonVals).toEqual('object');
- expect(scope.latLonVals.length).toBe(0);
- expect(typeof scope.timeVals).toEqual('object');
- expect(scope.timeVals.length).toEqual(0);
- expect(typeof scope.localSelectForm).toEqual('object');
- expect(Object.keys(scope.localSelectForm).length).toEqual(0);
- });
- });
-
- it('should initialize the uploadLocalFile function', function() {
- inject(function($httpBackend, $rootScope, $controller) {
- $rootScope.baseURL = "http://localhost:8082"
- $httpBackend.expectJSONP($rootScope.baseURL + '/dir/path_leader/?callback=JSON_CALLBACK').
- respond(200, {'leader': null});
- $httpBackend.whenGET('views/main.html').respond(200);
-
- $httpBackend.expectJSONP($rootScope.baseURL + '/lfme/list_vars/undefined?callback=JSON_CALLBACK').
- respond(200, {"variables": ["lat", "lon", "prec", "time" ]});
- $httpBackend.expectJSONP($rootScope.baseURL + '/lfme/list_latlon/undefined?callback=JSON_CALLBACK').
- respond(200, {'latMax': '75.25', 'success': 1, 'lat_name': 'lat', 'lonMax': '-29.75', 'lonMin': '-159.75', 'lon_name': 'lon', 'latMin': '15.25'});
- $httpBackend.expectJSONP($rootScope.baseURL + '/lfme/list_time/undefined?callback=JSON_CALLBACK').
- respond(200, {"start_time": "1980-01-01 00:00:00", "time_name": "time", "success": 1, "end_time": "2004-12-01 00:00:00"});
-
- scope.uploadLocalFile();
- $httpBackend.flush();
-
- expect(scope.latsSelect).toEqual("lat");
- expect(scope.lonsSelect).toEqual("lon");
- expect(scope.timeSelect).toEqual("time");
- expect(scope.paramSelect).toEqual("prec");
-
- // Simulate failure on one of the backend calls. Should
- $httpBackend.expectJSONP($rootScope.baseURL + '/lfme/list_vars/undefined?callback=JSON_CALLBACK').
- respond(200, {});
- $httpBackend.expectJSONP($rootScope.baseURL + '/lfme/list_latlon/undefined?callback=JSON_CALLBACK').
- respond(404, {});
- $httpBackend.expectJSONP($rootScope.baseURL + '/lfme/list_time/undefined?callback=JSON_CALLBACK').
- respond(200, {});
-
- scope.uploadLocalFile();
- $httpBackend.flush();
-
- expect(scope.paramSelect).toEqual("Unable to load variable(s)");
- expect(scope.params.length).toEqual(1);
- expect(scope.latsSelect).toEqual("Unable to load variable(s)");
- expect(scope.lats.length).toEqual(1);
- expect(scope.lonsSelect).toEqual("Unable to load variable(s)");
- expect(scope.lons.length).toEqual(1);
- expect(scope.timeSelect).toEqual("Unable to load variable(s)");
- expect(scope.times.length).toEqual(1);
- });
- });
-
- it('should initialize the addDatasets function', function() {
- expect(typeof(scope.addDataSet)).toBe("function");
- });
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/controllers/parameterselect.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/controllers/parameterselect.js b/ocw-ui/frontend-new/test/spec/controllers/parameterselect.js
deleted file mode 100644
index aa4cbd8..0000000
--- a/ocw-ui/frontend-new/test/spec/controllers/parameterselect.js
+++ /dev/null
@@ -1,136 +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';
-
-describe('Controller: ParameterSelectCtrl', function () {
-
- // load the controller's module
- beforeEach(module('ocwUiApp'));
-
- var ParameterselectCtrl,
- scope;
-
- // Initialize the controller and a mock scope
- beforeEach(inject(function ($controller, $rootScope) {
- scope = $rootScope.$new();
- ParameterselectCtrl = $controller('ParameterSelectCtrl', {
- $scope: scope
- });
- }));
-
- it('should initialize spatial and temporal range default values properly', function() {
- expect(scope.latMin).toBe(-90);
- expect(scope.latMax).toBe(90);
- expect(scope.lonMin).toBe(-180);
- expect(scope.lonMax).toBe(180);
- expect(scope.start).toBe("1900-01-01 00:00:00");
- expect(scope.end).toBe("2030-01-01 00:00:00");
- });
-
- it('should grab the default set of selected datasets from the service', function() {
- // We should get an object with no keys since the user hasn't selected any
- // datasets by default. Object.keys returns an array of all the user defined
- // keys in the object.
- expect(typeof scope.datasets).toBe('object');
- expect(Object.keys(scope.datasets).length).toBe(0);
- });
-
- it('should grab the default region select param object from the regionSelectParams service', function() {
- // The default display values aren't going to be changing any time soon. This test
- // is a bit of a duplicate since this is really testing functionality of the service.
- // Can't hurt to make sure that we're getting results though!
- expect(typeof scope.displayParams).toBe('object');
- expect(Object.keys(scope.displayParams).length).toBe(7);
- });
-
- it('should initialize misc. values properly', function() {
- expect(scope.runningEval).toBe(false);
- expect(scope.areInUserRegridState).toBe(false);
- expect(scope.latSliderVal).toBe(0);
- expect(scope.lonSliderVal).toBe(0);
- });
-
- it('should set the default datepicker settings', function() {
- // This tests the default values that get passed to the datepicker objects that we
- // initialize with a directive.
- expect(Object.keys(scope.datepickerSettings).length).toBe(2);
- expect(scope.datepickerSettings.changeMonth).toBe(true);
- expect(scope.datepickerSettings.changeYear).toBe(true);
- });
-
- it('should initialize the control disable function', function() {
- // Add to dummy values to datasets to make sure the disable function
- // triggers properly.
- scope.datasets.push(1);
- scope.datasets.push(2);
- expect(scope.shouldDisableControls()).toBe(false);
- });
-
- it('should initialize the disable evaluation button function', function() {
- expect(scope.shouldDisableEvaluateButton()).toBe(true);
- scope.datasets.push(1);
- expect(scope.shouldDisableEvaluateButton()).toBe(true);
- scope.datasets.push(2);
- expect(scope.shouldDisableEvaluateButton()).toBe(false);
- scope.runningEval = true;
- expect(scope.shouldDisableEvaluateButton()).toBe(true);
- });
-
- it('should initialize the disable results view function', function() {
- inject(function($rootScope) {
- expect(scope.shouldDisableResultsView()).toBe(true);
-
- // Set evalResults to something other than the default value
- $rootScope.evalResults = "this is not an empty string";
-
- expect(scope.shouldDisableResultsView()).toBe(false);
- });
- });
-
- /*
- * TODO: $scope.$apply() in the controller is breaking this test. Need to
- * find a way to deal with that or rethink how we handle this test.
- *
- */
- /*
- it('should initialize the check parameters function', function() {
- // Set the displayParams values to be "out of bounds" values so checkParams
- // adjusts them properly.
- scope.displayParams.latMin = "-95";
- scope.displayParams.latMax = "95";
- scope.displayParams.lonMin = "-185";
- scope.displayParams.lonMax = "185";
- scope.displayParams.start = "1980-00-00 00:00:00";
- scope.displayParams.end = "2031-01-01 00:00:00";
-
- // If we don't remove the watch on datasets we end up with displayParam values
- // all being undefined (but only during testing, which is odd...)
- scope.unwatchDatasets();
- scope.checkParameters();
-
- expect(scope.displayParams.latMin).toBe(-90);
- expect(scope.displayParams.latMax).toBe(90);
- expect(scope.displayParams.lonMin).toBe(-180);
- expect(scope.displayParams.lonMax).toBe(180);
- expect(scope.displayParams.start).toBe('1980-01-01 00:00:00');
- expect(scope.displayParams.end).toBe('2030-01-01 00:00:00');
- });
- */
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/controllers/rcmedselection.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/controllers/rcmedselection.js b/ocw-ui/frontend-new/test/spec/controllers/rcmedselection.js
deleted file mode 100644
index 97011c7..0000000
--- a/ocw-ui/frontend-new/test/spec/controllers/rcmedselection.js
+++ /dev/null
@@ -1,145 +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';
-
-describe('Controller: RcmedSelectionCtrl', function () {
-
- // load the controller's module
- beforeEach(module('ocwUiApp'));
-
- var RcmedselectionCtrl,
- scope;
-
- // Initialize the controller and a mock scope
- beforeEach(inject(function ($controller, $rootScope) {
- scope = $rootScope.$new();
- RcmedselectionCtrl = $controller('RcmedSelectionCtrl', {
- $scope: scope
- });
- }));
-
- it('should automatically query RCMED on initialization', function() {
- inject(function($rootScope, $httpBackend) {
- $httpBackend.expectJSONP($rootScope.baseURL + '/rcmed/datasets/?callback=JSON_CALLBACK').
- respond(200, [{longname: 1}, {longname: 2}]);
- $httpBackend.expectGET($rootScope.baseURL + '/rcmed/parameters/bounds/').respond(503)
- $httpBackend.expectGET('views/main.html').respond(200);
- $httpBackend.flush();
-
- expect(scope.availableObs.length).toBe(3);
- expect(scope.availableObs[0]).toEqual({longname: "Please select an option"});
- expect(scope.availableObs[1]).toEqual({longname: 1});
- });
- });
-
- it('should initialize the getObservations function', function() {
- inject(function($rootScope, $httpBackend) {
- $httpBackend.expectJSONP($rootScope.baseURL + '/rcmed/datasets/?callback=JSON_CALLBACK').
- respond(200, [{longname: 1}, {longname: 2}]);
- $httpBackend.expectGET($rootScope.baseURL + '/rcmed/parameters/bounds/').respond(503)
- $httpBackend.expectGET('views/main.html').respond(200);
- $httpBackend.flush();
-
- expect(scope.availableObs.length).toBe(3);
- expect(scope.availableObs[0]).toEqual({longname: "Please select an option"});
- expect(scope.availableObs[1]).toEqual({longname: 1});
-
- // Set up a failed query
- $httpBackend.expectJSONP($rootScope.baseURL + '/rcmed/datasets/?callback=JSON_CALLBACK').
- respond(404);
- scope.getObservations();
- $httpBackend.flush();
-
- expect(scope.availableObs.length).toBe(1);
- expect(scope.availableObs[0]).toEqual('Unable to query RCMED');
- });
- });
-
- it('should initialize dataSelectUpdated function', function() {
- inject(function($rootScope, $controller, $httpBackend) {
- $httpBackend.expectJSONP($rootScope.baseURL + '/rcmed/datasets/?callback=JSON_CALLBACK').
- respond(200, [{longname: 1}, {longname: 2}]);
- $httpBackend.expectGET($rootScope.baseURL + '/rcmed/parameters/bounds/').respond(503)
- $httpBackend.expectGET('views/main.html').respond(200);
- $httpBackend.flush();
-
- // Add the test dataset to our scope
- scope.datasetSelection = {shortname: 'TRMM'}
-
- // Test return with only single parameter
- $httpBackend.expectJSONP($rootScope.baseURL + '/rcmed/parameters/?dataset=' +
- scope.datasetSelection['shortname'] +
- '&callback=JSON_CALLBACK').
- respond(200, ['pcp']);
- scope.dataSelectUpdated();
- $httpBackend.flush();
-
- expect(scope.parameterSelection).toEqual('pcp');
-
- // Test return with multiple parameters
- $httpBackend.expectJSONP($rootScope.baseURL + '/rcmed/parameters/?dataset=' +
- scope.datasetSelection['shortname'] +
- '&callback=JSON_CALLBACK').
- respond(200, ['pcp', 'pcp2']);
- scope.dataSelectUpdated();
- $httpBackend.flush();
-
- expect(scope.parameterSelection).toEqual({shortname: 'Please select a parameter'});
- });
- });
-
- it('should initialze the addObservation function', function() {
- inject(function($rootScope, $controller, $httpBackend) {
- $httpBackend.expectJSONP($rootScope.baseURL + '/rcmed/datasets/?callback=JSON_CALLBACK').
- respond(200, [{longname: 1}, {longname: 2}]);
- $httpBackend.expectGET($rootScope.baseURL + '/rcmed/parameters/bounds/').respond(503)
- $httpBackend.expectGET('views/main.html').respond(200);
- $httpBackend.flush();
-
- scope.datasetSelection = {
- "dataset_id" : "3",
- "shortname" : "TRMM",
- "longname" : "Tropical Rainfall Measuring Mission Dataset",
- "source" : "Readme for the Tropical Rainfall Measuring Mission (TRMM) Data Set"
- };
-
- scope.parameterSelection = {
- "parameter_id":"36",
- "shortname":"pcp",
- "datasetshortname":"TRMM",
- "longname":"TRMM v.6 Monthly Precipitation",
- "units":"mm\/day"
- };
-
- // addObservations does a refresh of the selections with a re-query of the backend
- // so we need to catch that call!
- $httpBackend.expectJSONP($rootScope.baseURL + '/rcmed/datasets/?callback=JSON_CALLBACK').
- respond(200, [{longname: 1}, {longname: 2}]);
-
- scope.addObservation();
- $httpBackend.flush();
-
- expect(scope.datasetCount.length).toBe(1);
- // The selection observation should be reset so we shouldn't have
- // any selected observation parameters.
- expect(scope.retrievedObsParams).toEqual([]);
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/controllers/result.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/controllers/result.js b/ocw-ui/frontend-new/test/spec/controllers/result.js
deleted file mode 100644
index 495a473..0000000
--- a/ocw-ui/frontend-new/test/spec/controllers/result.js
+++ /dev/null
@@ -1,37 +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';
-
-describe('Controller: ResultCtrl', function () {
-
- // load the controller's module
- beforeEach(module('ocwUiApp'));
-
- var ResultCtrl,
- scope;
-
- // Initialize the controller and a mock scope
- beforeEach(inject(function ($controller, $rootScope) {
- scope = $rootScope.$new();
- ResultCtrl = $controller('ResultCtrl', {
- $scope: scope
- });
- }));
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/controllers/resultdetail.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/controllers/resultdetail.js b/ocw-ui/frontend-new/test/spec/controllers/resultdetail.js
deleted file mode 100644
index a29e508..0000000
--- a/ocw-ui/frontend-new/test/spec/controllers/resultdetail.js
+++ /dev/null
@@ -1,37 +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';
-
-describe('Controller: ResultdetailCtrl', function () {
-
- // load the controller's module
- beforeEach(module('ocwUiApp'));
-
- var ResultdetailCtrl,
- scope;
-
- // Initialize the controller and a mock scope
- beforeEach(inject(function ($controller, $rootScope) {
- scope = $rootScope.$new();
- ResultdetailCtrl = $controller('ResultdetailCtrl', {
- $scope: scope
- });
- }));
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/controllers/settings.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/controllers/settings.js b/ocw-ui/frontend-new/test/spec/controllers/settings.js
deleted file mode 100644
index e45accd..0000000
--- a/ocw-ui/frontend-new/test/spec/controllers/settings.js
+++ /dev/null
@@ -1,37 +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';
-
-describe('Controller: SettingsCtrl', function () {
-
- // load the controller's module
- beforeEach(module('ocwUiApp'));
-
- var SettingsCtrl,
- scope;
-
- // Initialize the controller and a mock scope
- beforeEach(inject(function ($controller, $rootScope) {
- scope = $rootScope.$new();
- SettingsCtrl = $controller('SettingsCtrl', {
- $scope: scope
- });
- }));
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/controllers/timeline.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/controllers/timeline.js b/ocw-ui/frontend-new/test/spec/controllers/timeline.js
deleted file mode 100644
index 1f3580f..0000000
--- a/ocw-ui/frontend-new/test/spec/controllers/timeline.js
+++ /dev/null
@@ -1,37 +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';
-
-describe('Controller: TimelineCtrl', function () {
-
- // load the controller's module
- beforeEach(module('ocwUiApp'));
-
- var TimelineCtrl,
- scope;
-
- // Initialize the controller and a mock scope
- beforeEach(inject(function ($controller, $rootScope) {
- scope = $rootScope.$new();
- TimelineCtrl = $controller('TimelineCtrl', {
- $scope: scope
- });
- }));
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/controllers/worldmap.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/controllers/worldmap.js b/ocw-ui/frontend-new/test/spec/controllers/worldmap.js
deleted file mode 100644
index 76c702b..0000000
--- a/ocw-ui/frontend-new/test/spec/controllers/worldmap.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';
-
-describe('Controller: WorldMapCtrl', function () {
-
- // load the controller's module
- beforeEach(module('ocwUiApp'));
-
- var WorldmapCtrl,
- scope;
-
- // Initialize the controller and a mock scope
- beforeEach(inject(function ($controller, $rootScope) {
- scope = $rootScope.$new();
- WorldmapCtrl = $controller('WorldMapCtrl', {
- $scope: scope
- });
- }));
-
- it('should initialize the updateMap function', function() {
- inject(function($rootScope, $controller) {
- var scope = $rootScope.$new();
- var ctrl = $controller("WorldMapCtrl", {$scope: scope});
-
- // Set the important attributes for a fake dataset
- scope.datasets.push({shouldDisplay: true, latlonVals: {latMin: 0, latMax: 0, lonMin: 0, lonMax: 0}});
- // Don't try to add the user defined region since we don't have one
- scope.regionParams.areValid = false;
- // We need to fake the map object. The only thing we care about is faking the "addLayer" function
- // and the "fitBounds" functions which our map controllers makes use of.
- $rootScope.map = {addLayer: function(){}, fitBounds: function(){}};
- $rootScope.fillColors = ['#ff0000'];
-
- expect("rectangleGroup" in $rootScope).toBe(false);
- scope.updateMap();
- expect("rectangleGroup" in $rootScope).toBe(true);
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/directives/bootstrapmodal.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/directives/bootstrapmodal.js b/ocw-ui/frontend-new/test/spec/directives/bootstrapmodal.js
deleted file mode 100644
index 465f65e..0000000
--- a/ocw-ui/frontend-new/test/spec/directives/bootstrapmodal.js
+++ /dev/null
@@ -1,33 +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';
-
-describe('Directive: bootstrapModal', function () {
-
- // load the directive's module
- beforeEach(module('ocwUiApp'));
-
- var element,
- scope;
-
- beforeEach(inject(function ($rootScope) {
- scope = $rootScope.$new();
- }));
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/directives/bootstrapmodalopen.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/directives/bootstrapmodalopen.js b/ocw-ui/frontend-new/test/spec/directives/bootstrapmodalopen.js
deleted file mode 100644
index 699210c..0000000
--- a/ocw-ui/frontend-new/test/spec/directives/bootstrapmodalopen.js
+++ /dev/null
@@ -1,33 +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';
-
-describe('Directive: bootstrapModalOpen', function () {
-
- // load the directive's module
- beforeEach(module('ocwUiApp'));
-
- var element,
- scope;
-
- beforeEach(inject(function ($rootScope) {
- scope = $rootScope.$new();
- }));
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/directives/leafletmap.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/directives/leafletmap.js b/ocw-ui/frontend-new/test/spec/directives/leafletmap.js
deleted file mode 100644
index 85ccc6d..0000000
--- a/ocw-ui/frontend-new/test/spec/directives/leafletmap.js
+++ /dev/null
@@ -1,33 +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';
-
-describe('Directive: leafletMap', function () {
-
- // load the directive's module
- beforeEach(module('ocwUiApp'));
-
- var element,
- scope;
-
- beforeEach(inject(function ($rootScope) {
- scope = $rootScope.$new();
- }));
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/directives/onblur.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/directives/onblur.js b/ocw-ui/frontend-new/test/spec/directives/onblur.js
deleted file mode 100644
index 7e8b83a..0000000
--- a/ocw-ui/frontend-new/test/spec/directives/onblur.js
+++ /dev/null
@@ -1,50 +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';
-
-describe('Directive: onBlur', function () {
-
- // load the directive's module
- beforeEach(module('ocwUiApp'));
-
- var element,
- scope;
-
- beforeEach(inject(function ($rootScope) {
- scope = $rootScope.$new();
- }));
-
- it('should call the supplied function on the blur event', function() {
- inject(function($compile) {
- // Set a scope variable to make sure that on-blur calls
- // the function that we pass to it.
- scope.bogusFunction = function() {
- scope.test = "hi"
- }
-
- var element = angular.element('<input on-blur="bogusFunction();" />')
- element = $compile(element)(scope)
-
- expect(scope.test).toNotBe('hi');
- element.triggerHandler('blur');
- expect(scope.test).toBe('hi');
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/directives/predictivefilebrowserinput.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/directives/predictivefilebrowserinput.js b/ocw-ui/frontend-new/test/spec/directives/predictivefilebrowserinput.js
deleted file mode 100644
index 162b361..0000000
--- a/ocw-ui/frontend-new/test/spec/directives/predictivefilebrowserinput.js
+++ /dev/null
@@ -1,33 +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';
-
-describe('Directive: predictiveFileBrowserInput', function () {
-
- // load the directive's module
- beforeEach(module('ocwUiApp'));
-
- var element,
- scope;
-
- beforeEach(inject(function ($rootScope) {
- scope = $rootScope.$new();
- }));
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/directives/previewmap.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/directives/previewmap.js b/ocw-ui/frontend-new/test/spec/directives/previewmap.js
deleted file mode 100644
index 2a831c6..0000000
--- a/ocw-ui/frontend-new/test/spec/directives/previewmap.js
+++ /dev/null
@@ -1,53 +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';
-
-describe('Directive: previewMap', function () {
-
- // load the directive's module
- beforeEach(module('ocwUiApp'));
-
- var element,
- scope;
-
- beforeEach(inject(function ($rootScope) {
- scope = $rootScope.$new();
- }));
-
- it('should set the proper class', function() {
- inject(function($compile, $rootScope) {
- $rootScope.dataset = {latlonVals: {latMax: 90, lonMax: 90, latMin: -90, lonMin: -90}, name: "TRMM"};
-
- var element = $compile('<div preview-map="dataset"></div>')($rootScope);
-
- expect(element.hasClass("preview-map")).toBeTruthy();
- });
- });
-
- it('should set the id of the template to the name of the dataset', function() {
- inject(function($compile, $rootScope) {
- $rootScope.dataset = {latlonVals: {latMax: 90, lonMax: 90, latMin: -90, lonMin: -90}, name: "TRMM"};
-
- var element = $compile('<div preview-map="dataset"></div>')($rootScope);
-
- expect(element.attr('id')).toEqual("{{dataset.name}}");
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/directives/timeline.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/directives/timeline.js b/ocw-ui/frontend-new/test/spec/directives/timeline.js
deleted file mode 100644
index 06c72e1..0000000
--- a/ocw-ui/frontend-new/test/spec/directives/timeline.js
+++ /dev/null
@@ -1,33 +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';
-
-describe('Directive: timeline', function () {
-
- // load the directive's module
- beforeEach(module('ocwUiApp'));
-
- var element,
- scope;
-
- beforeEach(inject(function ($rootScope) {
- scope = $rootScope.$new();
- }));
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/filters/isodatetomiddleendian.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/filters/isodatetomiddleendian.js b/ocw-ui/frontend-new/test/spec/filters/isodatetomiddleendian.js
deleted file mode 100644
index 966b333..0000000
--- a/ocw-ui/frontend-new/test/spec/filters/isodatetomiddleendian.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';
-
-describe('Filter: ISODateToMiddleEndian', function () {
-
- // load the filter's module
- beforeEach(module('ocwUiApp'));
-
- // initialize a new instance of the filter before each test
- var ISODateToMiddleEndian;
- beforeEach(inject(function ($filter) {
- ISODateToMiddleEndian = $filter('ISODateToMiddleEndian');
- }));
-
- describe('ISODateToMiddleEndian', function() {
- it('should replace the ISO Date/Time stamp', function() {
- inject(function($filter) {
- var filter = $filter('ISODateToMiddleEndian');
- expect(filter('2012-01-02T00:00:00')).toEqual('01/02/2012');
- });
- });
-
- it('should replace the modified ISO Date/Time stamp', function() {
- inject(function($filter) {
- var filter = $filter('ISODateToMiddleEndian');
- expect(filter('2012-01-02 00:00:00')).toEqual('01/02/2012');
- });
- });
-
- it('should replace the ISO Date stamp', function() {
- inject(function($filter) {
- var filter = $filter('ISODateToMiddleEndian');
- expect(filter('2012-01-02')).toEqual('01/02/2012');
- });
- });
-
- it('should replace leading and trailing whitespace', function() {
- inject(function($filter) {
- var filter = $filter('ISODateToMiddleEndian');
- expect(filter(' 2012-01-02T00:00:00 ')).toEqual('01/02/2012');
- });
- });
-
- it('should do nothing when the date format has the incorrect number of hyphens', function() {
- inject(function($filter) {
- var filter = $filter('ISODateToMiddleEndian');
- expect(filter('2012-234T234')).toEqual('2012-234T234')
- });
- });
-
- it('should do nothing when the date format has no hyphens', function() {
- inject(function($filter) {
- var filter = $filter('ISODateToMiddleEndian');
- expect(filter('2012234T234')).toEqual('2012234T234')
- });
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/services/evaluationsettings.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/services/evaluationsettings.js b/ocw-ui/frontend-new/test/spec/services/evaluationsettings.js
deleted file mode 100644
index 01fa63b..0000000
--- a/ocw-ui/frontend-new/test/spec/services/evaluationsettings.js
+++ /dev/null
@@ -1,44 +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';
-
-describe('Service: evaluationSettings', function () {
-
- // load the service's module
- beforeEach(module('ocwUiApp'));
-
- // instantiate service
- var evaluationSettings;
- beforeEach(inject(function (_evaluationSettings_) {
- evaluationSettings = _evaluationSettings_;
- }));
-
- it('should initialize the evaluationSettings service', function() {
- inject(function(evaluationSettings) {
- expect(evaluationSettings).not.toEqual(null);
- });
- });
-
- it('should provide a getSettings function', function() {
- inject(function(evaluationSettings) {
- expect(evaluationSettings.getSettings()).not.toEqual(null);
- })
- })
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/services/regionselectparams.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/services/regionselectparams.js b/ocw-ui/frontend-new/test/spec/services/regionselectparams.js
deleted file mode 100644
index 34cfe54..0000000
--- a/ocw-ui/frontend-new/test/spec/services/regionselectparams.js
+++ /dev/null
@@ -1,44 +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';
-
-describe('Service: regionSelectParams', function () {
-
- // load the service's module
- beforeEach(module('ocwUiApp'));
-
- // instantiate service
- var regionSelectParams;
- beforeEach(inject(function (_regionSelectParams_) {
- regionSelectParams = _regionSelectParams_;
- }));
-
- it('should initialize the regionSelectParams service', function() {
- inject(function(regionSelectParams) {
- expect(regionSelectParams).not.toEqual(null);
- });
- });
-
- it('should provide the getParameters function', function() {
- inject(function(regionSelectParams) {
- expect(regionSelectParams.getParameters()).not.toEqual(null);
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend-new/test/spec/services/selecteddatasetinformation.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend-new/test/spec/services/selecteddatasetinformation.js b/ocw-ui/frontend-new/test/spec/services/selecteddatasetinformation.js
deleted file mode 100644
index 60c1ac2..0000000
--- a/ocw-ui/frontend-new/test/spec/services/selecteddatasetinformation.js
+++ /dev/null
@@ -1,92 +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';
-
-describe('Service: selectedDatasetInformation', function () {
-
- // load the service's module
- beforeEach(module('ocwUiApp'));
-
- // instantiate service
- var selectedDatasetInformation;
- beforeEach(inject(function (_selectedDatasetInformation_) {
- selectedDatasetInformation = _selectedDatasetInformation_;
- }));
-
- it('should initialize the selectedDatasetInformation service', function() {
- inject(function(selectedDatasetInformation) {
- expect(selectedDatasetInformation).not.toEqual(null);
- });
- });
-
- it('should provide the getDatasets function', function() {
- inject(function(selectedDatasetInformation) {
- expect(selectedDatasetInformation.getDatasets()).not.toEqual(null);
- });
- });
-
- it('should provide the getDatasetCount function', function() {
- inject(function(selectedDatasetInformation) {
- expect(selectedDatasetInformation.getDatasetCount()).toEqual(0);
- });
- });
-
- it('should provide the addDataset function', function() {
- inject(function(selectedDatasetInformation) {
- selectedDatasetInformation.addDataset({});
- expect(selectedDatasetInformation.getDatasetCount()).toEqual(1);
- });
- });
-
- it('should set the shouldDisplay attribute when adding a dataset', function() {
- inject(function(selectedDatasetInformation) {
- selectedDatasetInformation.addDataset({});
- expect(selectedDatasetInformation.getDatasets()[0].shouldDisplay).toBe(false);
- });
- });
-
- it('should set the regrid attribute when adding a dataset', function() {
- inject(function(selectedDatasetInformation) {
- selectedDatasetInformation.addDataset({});
- expect(selectedDatasetInformation.getDatasets()[0].regrid).toBe(false);
- });
- });
-
- it('should provide the removeDataset function', function() {
- inject(function(selectedDatasetInformation) {
- selectedDatasetInformation.addDataset(1);
- selectedDatasetInformation.addDataset(2);
-
- expect(selectedDatasetInformation.getDatasets()[0]).toEqual(1);
- selectedDatasetInformation.removeDataset(0);
- expect(selectedDatasetInformation.getDatasets()[0]).toEqual(2);
- });
- });
-
- it('should provide the clearDatasets function', function() {
- inject(function(selectedDatasetInformation) {
- selectedDatasetInformation.addDataset({});
- expect(selectedDatasetInformation.getDatasetCount()).toEqual(1);
-
- selectedDatasetInformation.clearDatasets();
- expect(selectedDatasetInformation.getDatasetCount()).toEqual(0);
- });
- });
-});
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend/.bowerrc
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/.bowerrc b/ocw-ui/frontend/.bowerrc
new file mode 100644
index 0000000..69fad35
--- /dev/null
+++ b/ocw-ui/frontend/.bowerrc
@@ -0,0 +1,3 @@
+{
+ "directory": "bower_components"
+}
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend/.editorconfig
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/.editorconfig b/ocw-ui/frontend/.editorconfig
new file mode 100644
index 0000000..c2cdfb8
--- /dev/null
+++ b/ocw-ui/frontend/.editorconfig
@@ -0,0 +1,21 @@
+# EditorConfig helps developers define and maintain consistent
+# coding styles between different editors and IDEs
+# editorconfig.org
+
+root = true
+
+
+[*]
+
+# Change these settings to your own preference
+indent_style = space
+indent_size = 2
+
+# We recommend you to keep these unchanged
+end_of_line = lf
+charset = utf-8
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[*.md]
+trim_trailing_whitespace = false
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend/.gitattributes
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/.gitattributes b/ocw-ui/frontend/.gitattributes
new file mode 100644
index 0000000..2125666
--- /dev/null
+++ b/ocw-ui/frontend/.gitattributes
@@ -0,0 +1 @@
+* text=auto
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend/.gitignore
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/.gitignore b/ocw-ui/frontend/.gitignore
new file mode 100644
index 0000000..a22a458
--- /dev/null
+++ b/ocw-ui/frontend/.gitignore
@@ -0,0 +1,5 @@
+node_modules
+dist
+.tmp
+.sass-cache
+bower_components
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend/.jshintrc
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/.jshintrc b/ocw-ui/frontend/.jshintrc
new file mode 100644
index 0000000..40377ba
--- /dev/null
+++ b/ocw-ui/frontend/.jshintrc
@@ -0,0 +1,24 @@
+{
+ "node": true,
+ "browser": true,
+ "esnext": true,
+ "bitwise": true,
+ "camelcase": true,
+ "curly": true,
+ "eqeqeq": true,
+ "immed": true,
+ "indent": 2,
+ "latedef": true,
+ "newcap": true,
+ "noarg": true,
+ "quotmark": "single",
+ "regexp": true,
+ "undef": true,
+ "unused": true,
+ "strict": true,
+ "trailing": true,
+ "smarttabs": true,
+ "globals": {
+ "angular": false
+ }
+}
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend/.travis.yml
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/.travis.yml b/ocw-ui/frontend/.travis.yml
new file mode 100644
index 0000000..a80b6e0
--- /dev/null
+++ b/ocw-ui/frontend/.travis.yml
@@ -0,0 +1,6 @@
+language: node_js
+node_js:
+ - '0.10'
+before_script:
+ - 'npm install -g bower grunt-cli'
+ - 'bower install'
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend/Gruntfile.js
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/Gruntfile.js b/ocw-ui/frontend/Gruntfile.js
new file mode 100644
index 0000000..0efb4ae
--- /dev/null
+++ b/ocw-ui/frontend/Gruntfile.js
@@ -0,0 +1,412 @@
+// Generated on 2014-07-15 using generator-angular 0.9.5
+'use strict';
+
+// # Globbing
+// for performance reasons we're only matching one level down:
+// 'test/spec/{,*/}*.js'
+// use this if you want to recursively match all subfolders:
+// 'test/spec/**/*.js'
+
+module.exports = function (grunt) {
+
+ // Load grunt tasks automatically
+ require('load-grunt-tasks')(grunt);
+
+ // Time how long tasks take. Can help when optimizing build times
+ require('time-grunt')(grunt);
+
+ // Configurable paths for the application
+ var appConfig = {
+ app: require('./bower.json').appPath || 'app',
+ dist: 'dist'
+ };
+
+ // Define the configuration for all the tasks
+ grunt.initConfig({
+
+ // Project settings
+ yeoman: appConfig,
+
+ // Watches files for changes and runs tasks based on the changed files
+ watch: {
+ bower: {
+ files: ['bower.json'],
+ tasks: ['wiredep']
+ },
+ js: {
+ files: ['<%= yeoman.app %>/scripts/{,*/}*.js'],
+ tasks: ['newer:jshint:all'],
+ options: {
+ livereload: '<%= connect.options.livereload %>'
+ }
+ },
+ jsTest: {
+ files: ['test/spec/{,*/}*.js'],
+ tasks: ['newer:jshint:test', 'karma']
+ },
+ styles: {
+ files: ['<%= yeoman.app %>/styles/{,*/}*.css'],
+ tasks: ['newer:copy:styles', 'autoprefixer']
+ },
+ gruntfile: {
+ files: ['Gruntfile.js']
+ },
+ livereload: {
+ options: {
+ livereload: '<%= connect.options.livereload %>'
+ },
+ files: [
+ '<%= yeoman.app %>/{,*/}*.html',
+ '.tmp/styles/{,*/}*.css',
+ '<%= yeoman.app %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}'
+ ]
+ }
+ },
+
+ // The actual grunt server settings
+ connect: {
+ options: {
+ port: 9000,
+ // Change this to '0.0.0.0' to access the server from outside.
+ hostname: 'localhost',
+ livereload: 35729
+ },
+ livereload: {
+ options: {
+ open: true,
+ middleware: function (connect) {
+ return [
+ connect.static('.tmp'),
+ connect().use(
+ '/bower_components',
+ connect.static('./bower_components')
+ ),
+ connect.static(appConfig.app)
+ ];
+ }
+ }
+ },
+ test: {
+ options: {
+ port: 9001,
+ middleware: function (connect) {
+ return [
+ connect.static('.tmp'),
+ connect.static('test'),
+ connect().use(
+ '/bower_components',
+ connect.static('./bower_components')
+ ),
+ connect.static(appConfig.app)
+ ];
+ }
+ }
+ },
+ dist: {
+ options: {
+ open: true,
+ base: '<%= yeoman.dist %>'
+ }
+ }
+ },
+
+ // Make sure code styles are up to par and there are no obvious mistakes
+ jshint: {
+ options: {
+ jshintrc: '.jshintrc',
+ reporter: require('jshint-stylish')
+ },
+ all: {
+ src: [
+ 'Gruntfile.js',
+ '<%= yeoman.app %>/scripts/{,*/}*.js'
+ ]
+ },
+ test: {
+ options: {
+ jshintrc: 'test/.jshintrc'
+ },
+ src: ['test/spec/{,*/}*.js']
+ }
+ },
+
+ // Empties folders to start fresh
+ clean: {
+ dist: {
+ files: [{
+ dot: true,
+ src: [
+ '.tmp',
+ '<%= yeoman.dist %>/{,*/}*',
+ '!<%= yeoman.dist %>/.git*'
+ ]
+ }]
+ },
+ server: '.tmp'
+ },
+
+ // Add vendor prefixed styles
+ autoprefixer: {
+ options: {
+ browsers: ['last 1 version']
+ },
+ dist: {
+ files: [{
+ expand: true,
+ cwd: '.tmp/styles/',
+ src: '{,*/}*.css',
+ dest: '.tmp/styles/'
+ }]
+ }
+ },
+
+ // Automatically inject Bower components into the app
+ wiredep: {
+ options: {
+ cwd: '<%= yeoman.app %>'
+ },
+ app: {
+ src: ['<%= yeoman.app %>/index.html'],
+ ignorePath: /\.\.\//
+ }
+ },
+
+ // Renames files for browser caching purposes
+ filerev: {
+ dist: {
+ src: [
+ '<%= yeoman.dist %>/scripts/{,*/}*.js',
+ '<%= yeoman.dist %>/styles/{,*/}*.css',
+ '<%= yeoman.dist %>/images/{,*/}*.{png,jpg,jpeg,gif,webp,svg}',
+ '<%= yeoman.dist %>/styles/fonts/*'
+ ]
+ }
+ },
+
+ // Reads HTML for usemin blocks to enable smart builds that automatically
+ // concat, minify and revision files. Creates configurations in memory so
+ // additional tasks can operate on them
+ useminPrepare: {
+ html: '<%= yeoman.app %>/index.html',
+ options: {
+ dest: '<%= yeoman.dist %>',
+ flow: {
+ html: {
+ steps: {
+ js: ['concat', 'uglifyjs'],
+ css: ['cssmin']
+ },
+ post: {}
+ }
+ }
+ }
+ },
+
+ // Performs rewrites based on filerev and the useminPrepare configuration
+ usemin: {
+ html: ['<%= yeoman.dist %>/{,*/}*.html'],
+ css: ['<%= yeoman.dist %>/styles/{,*/}*.css'],
+ options: {
+ assetsDirs: ['<%= yeoman.dist %>','<%= yeoman.dist %>/images']
+ }
+ },
+
+ // The following *-min tasks will produce minified files in the dist folder
+ // By default, your `index.html`'s <!-- Usemin block --> will take care of
+ // minification. These next options are pre-configured if you do not wish
+ // to use the Usemin blocks.
+ // cssmin: {
+ // dist: {
+ // files: {
+ // '<%= yeoman.dist %>/styles/main.css': [
+ // '.tmp/styles/{,*/}*.css'
+ // ]
+ // }
+ // }
+ // },
+ // uglify: {
+ // dist: {
+ // files: {
+ // '<%= yeoman.dist %>/scripts/scripts.js': [
+ // '<%= yeoman.dist %>/scripts/scripts.js'
+ // ]
+ // }
+ // }
+ // },
+ // concat: {
+ // dist: {}
+ // },
+
+ imagemin: {
+ dist: {
+ files: [{
+ expand: true,
+ cwd: '<%= yeoman.app %>/images',
+ src: '{,*/}*.{png,jpg,jpeg,gif}',
+ dest: '<%= yeoman.dist %>/images'
+ }]
+ }
+ },
+
+ svgmin: {
+ dist: {
+ files: [{
+ expand: true,
+ cwd: '<%= yeoman.app %>/images',
+ src: '{,*/}*.svg',
+ dest: '<%= yeoman.dist %>/images'
+ }]
+ }
+ },
+
+ htmlmin: {
+ dist: {
+ options: {
+ collapseWhitespace: true,
+ conservativeCollapse: true,
+ collapseBooleanAttributes: true,
+ removeCommentsFromCDATA: true,
+ removeOptionalTags: true
+ },
+ files: [{
+ expand: true,
+ cwd: '<%= yeoman.dist %>',
+ src: ['*.html', 'views/{,*/}*.html'],
+ dest: '<%= yeoman.dist %>'
+ }]
+ }
+ },
+
+ // ngmin tries to make the code safe for minification automatically by
+ // using the Angular long form for dependency injection. It doesn't work on
+ // things like resolve or inject so those have to be done manually.
+ ngmin: {
+ dist: {
+ files: [{
+ expand: true,
+ cwd: '.tmp/concat/scripts',
+ src: '*.js',
+ dest: '.tmp/concat/scripts'
+ }]
+ }
+ },
+
+ // Replace Google CDN references
+ cdnify: {
+ dist: {
+ html: ['<%= yeoman.dist %>/*.html']
+ }
+ },
+
+ // Copies remaining files to places other tasks can use
+ copy: {
+ dist: {
+ files: [{
+ expand: true,
+ dot: true,
+ cwd: '<%= yeoman.app %>',
+ dest: '<%= yeoman.dist %>',
+ src: [
+ '*.{ico,png,txt}',
+ '.htaccess',
+ '*.html',
+ 'views/{,*/}*.html',
+ 'images/{,*/}*.{webp}',
+ 'fonts/*'
+ ]
+ }, {
+ expand: true,
+ cwd: '.tmp/images',
+ dest: '<%= yeoman.dist %>/images',
+ src: ['generated/*']
+ }, {
+ expand: true,
+ cwd: 'bower_components/bootstrap/dist',
+ src: 'fonts/*',
+ dest: '<%= yeoman.dist %>'
+ }]
+ },
+ styles: {
+ expand: true,
+ cwd: '<%= yeoman.app %>/styles',
+ dest: '.tmp/styles/',
+ src: '{,*/}*.css'
+ }
+ },
+
+ // Run some tasks in parallel to speed up the build process
+ concurrent: {
+ server: [
+ 'copy:styles'
+ ],
+ test: [
+ 'copy:styles'
+ ],
+ dist: [
+ 'copy:styles',
+ 'imagemin',
+ 'svgmin'
+ ]
+ },
+
+ // Test settings
+ karma: {
+ unit: {
+ configFile: 'test/karma.conf.js',
+ singleRun: true
+ }
+ }
+ });
+
+
+ grunt.registerTask('serve', 'Compile then start a connect web server', function (target) {
+ if (target === 'dist') {
+ return grunt.task.run(['build', 'connect:dist:keepalive']);
+ }
+
+ grunt.task.run([
+ 'clean:server',
+ 'wiredep',
+ 'concurrent:server',
+ 'autoprefixer',
+ 'connect:livereload',
+ 'watch'
+ ]);
+ });
+
+ grunt.registerTask('server', 'DEPRECATED TASK. Use the "serve" task instead', function (target) {
+ grunt.log.warn('The `server` task has been deprecated. Use `grunt serve` to start a server.');
+ grunt.task.run(['serve:' + target]);
+ });
+
+ grunt.registerTask('test', [
+ 'clean:server',
+ 'concurrent:test',
+ 'autoprefixer',
+ 'connect:test',
+ 'karma'
+ ]);
+
+ grunt.registerTask('build', [
+ 'clean:dist',
+ 'wiredep',
+ 'useminPrepare',
+ 'concurrent:dist',
+ 'autoprefixer',
+ 'concat',
+ 'ngmin',
+ 'copy:dist',
+ 'cdnify',
+ 'cssmin',
+ 'uglify',
+ 'filerev',
+ 'usemin',
+ 'htmlmin'
+ ]);
+
+ grunt.registerTask('default', [
+ 'newer:jshint',
+ 'test',
+ 'build'
+ ]);
+};
http://git-wip-us.apache.org/repos/asf/climate/blob/652ea657/ocw-ui/frontend/app/.buildignore
----------------------------------------------------------------------
diff --git a/ocw-ui/frontend/app/.buildignore b/ocw-ui/frontend/app/.buildignore
new file mode 100644
index 0000000..fc98b8e
--- /dev/null
+++ b/ocw-ui/frontend/app/.buildignore
@@ -0,0 +1 @@
+*.coffee
\ No newline at end of file