http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/js/services/EvaluationSettings.js ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/app/js/services/EvaluationSettings.js b/ocw-ui/frontend/app/js/services/EvaluationSettings.js deleted file mode 100755 index 02b4a63..0000000 --- a/ocw-ui/frontend/app/js/services/EvaluationSettings.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. -**/ - -// EvaluationSettings gives controllers access to the user's selected evaluation settings. -App.Services.service('evaluationSettings', function($rootScope, $http) { - $http.get($rootScope.baseURL + '/processing/metrics/').then(function(data) { - metrics_data = data['data']['metrics']; - 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/a53e3af5/ocw-ui/frontend/app/js/services/RegionSelectParams.js ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/app/js/services/RegionSelectParams.js b/ocw-ui/frontend/app/js/services/RegionSelectParams.js deleted file mode 100644 index 4f36be6..0000000 --- a/ocw-ui/frontend/app/js/services/RegionSelectParams.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. -**/ - -// RegionSelectParams gives controllers access to the user selected evaluation region. -App.Services.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/a53e3af5/ocw-ui/frontend/app/js/services/SelectedDatasetInformation.js ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/app/js/services/SelectedDatasetInformation.js b/ocw-ui/frontend/app/js/services/SelectedDatasetInformation.js deleted file mode 100644 index 8378212..0000000 --- a/ocw-ui/frontend/app/js/services/SelectedDatasetInformation.js +++ /dev/null @@ -1,49 +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. -**/ - -// Service for giving controllers access to the information on datasets that -// the user has selected for evaluation. -App.Services.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/a53e3af5/ocw-ui/frontend/app/partials/main.html ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/app/partials/main.html b/ocw-ui/frontend/app/partials/main.html deleted file mode 100644 index 83152d3..0000000 --- a/ocw-ui/frontend/app/partials/main.html +++ /dev/null @@ -1,243 +0,0 @@ - -<!-- Modal for evaluation settings --> - <bootstrap-modal modal-id="evaluationSettings"> - <div class="modal-header"> - <button class="close">×</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 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 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"> - <a href="#" class="btn btn-warning close">Close</a> - </div> - </bootstrap-modal> -<!-- END - Modal for evaluation settings --> - - <div class="row-fluid"> - <div class="span12"> - <div class="row-fluid"> - <div class="span6"> - <!--Dataset Select Controls--> - <div ng-controller="DatasetSelectCtrl"> - <div class="row-fluid"> - <div class="span1 offset10"> - <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="icon-trash icon-2x"></i> - </span> - </button> - </div> - <div class="span1"> - <button class="btn btn-link no-color-link" ng-click="open()"> - <span tooltip-placement="left" tooltip-popup-delay="700" tooltip="Add Dataset"> - <i class="icon-plus icon-2x"></i> - </span> - </button> - </div> - </div> - <!-- Modal for dataset selection --> - <div modal="datasetSelect" close="close()" options="opts"> - <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" ng-click="close()">Close</button> - </div> - </div> - <!-- END - Modal for dataset selection --> - <div class="row-fluid"> - <div class="span12"> - <hr /> - </div> - </div> - </div> - <!--Dataset display--> - <div ng-controller="DatasetDisplayCtrl" id="datasetDiv"> - <div ng-repeat="dataset in datasets"> - <div class="row-fluid"> - <!--Data section--> - <div class="span8 offset1 muted"> - {{dataset.name}} - </div> - <div class="span1 offset2"> - <span tooltip-placement="left" tooltip-popup-delay="700" tooltip="Remove Dataset"> - <a class="no-color-link" href="#" ng-click="removeDataset($index)"> - <i class="icon-remove"></i> - </a> - </span> - </div> - </div> - <!--Time Values!--> - <div class="row-fluid"> - <!--Dataset Info Section--> - <div class="span9"> - <div class="row-fluid"> - <div class="span2 offset1 text-center">Start:</div> - <div class="span2"> - <div class="span2 text-center">{{dataset.timeVals.start | ISODateToMiddleEndian}}</div> - </div> - <div class="span2 text-center">End:</div> - <div class="span2"> - <div class="span2 text-center">{{dataset.timeVals.end | ISODateToMiddleEndian}}</div> - </div> - </div> - <!--Lat/Long Values!--> - <div class="row-fluid"> - <div class="span2 offset1 text-center">North:</div> - <div class="span2 text-center"> - {{dataset.latlonVals.latMax | number:2}} - </div> - <div class="span2 text-center">West:</div> - <div class="span2 text-center"> - {{dataset.latlonVals.lonMin | number:2}} - </div> - </div> - <div class="row-fluid"> - <div class="span2 offset1 text-center">South:</div> - <div class="span2 text-center"> - {{dataset.latlonVals.latMin | number:2}} - </div> - <div class="span2 text-center">East:</div> - <div class="span2 text-center"> - {{dataset.latlonVals.lonMax | number:2}} - </div> - </div> - </div> - <!--Preview Map Section--> - <div class="span3"> - <!--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-fluid"> - <div class="span6 offset3"><hr /></div> - </div> - </div> - </div> - </div> - <div class="span6"> - <!--Map--> - <div class="row-fluid" ng-controller="WorldMapCtrl"> - <div class="span12"> - <leaflet-map id="map"></leaflet-map> - </div> - </div> - - <!--Timeline--> - <div class="row-fluid"> - <div class="span12" ng-controller="TimelineCtrl"> - <div class="timeline"></div> - </div> - </div> - - <div class="row-fluid"> - <div class="span12" ng-controller="ParameterSelectCtrl"> - <div class="row-fluid"> - <div class="span2 text-center">Start Date:</div> - <div class="span4"> - <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="text-center span4" style="width:100%" /> - </form> - </div> - <div class="span2 text-center">End Date:</div> - <div class="span4"> - <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="text-center span4" style="width:100%"/> - </form> - </div> - </div> - <div class="row-fluid"> - <div class="span2 text-center">North:</div> - <div class="span4"> - <form action=""> - <input ng-disabled="shouldDisableControls()" ng-model="displayParams.latMax" on-blur="checkParameters();" type="text" class="span4 text-center" style="width:100%"/> - </form> - </div> - <div class="span2 text-center">South:</div> - <div class="span4"> - <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="span4 text-center" style="width:100%"/> - </form> - </div> - </div> - <div class="row-fluid"> - <div class="span2 text-center">East:</div> - <div class="span4"> - <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="span4 text-center" style="width:100%"/> - </form> - </div> - <div class="span2 text-center">West:</div> - <div class="span4"> - <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="span4 text-center" style="width:100%"/> - </form> - </div> - </div> - <div class="row-fluid"> - <div class="span2 offset6"> - <button class="btn btn-link no-color-link pull-right" bootstrap-modal-open="evaluationSettings"> - <span tooltip-placement="left" tooltip-popup-delay="700" tooltip="Settings"> - <span class="icon-stack"> - <i class="icon-check-empty icon-stack-base"></i> - <i class="icon-cogs"></i> - </span> - </span> - </button> - </div> - <div class="span4"> - <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="icon-spinner icon-spin"></i></div> - </button> - </div> - </div> - </div> - </div> - </div> - </div> - </div> - </div> http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/partials/modelSelect.html ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/app/partials/modelSelect.html b/ocw-ui/frontend/app/partials/modelSelect.html deleted file mode 100644 index 6ac653b..0000000 --- a/ocw-ui/frontend/app/partials/modelSelect.html +++ /dev/null @@ -1,86 +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/a53e3af5/ocw-ui/frontend/app/partials/results.detail.html ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/app/partials/results.detail.html b/ocw-ui/frontend/app/partials/results.detail.html deleted file mode 100644 index f2aab55..0000000 --- a/ocw-ui/frontend/app/partials/results.detail.html +++ /dev/null @@ -1,11 +0,0 @@ -<div> - <h2>{{result}}</h2> - <div class="row-fluid text-center"> - <div class="{{alertClass}}">{{alertMessage}}</div> - <ul> - <li ng-repeat="figure in figures"> - <img class="result-figures" ng-src="{{baseURL}}/static/eval_results/{{figure}}" alt="" /> - </li> - </ul> - </div> -</div> http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/partials/results.html ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/app/partials/results.html b/ocw-ui/frontend/app/partials/results.html deleted file mode 100644 index a8f58af..0000000 --- a/ocw-ui/frontend/app/partials/results.html +++ /dev/null @@ -1,15 +0,0 @@ -<div class="row"> - <div class="span3"> - <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="span9" ui-view ng-animate="{enter:'fade-enter'}"></div> -</div> http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/partials/results.list.html ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/app/partials/results.list.html b/ocw-ui/frontend/app/partials/results.list.html deleted file mode 100644 index ddc4ce2..0000000 --- a/ocw-ui/frontend/app/partials/results.list.html +++ /dev/null @@ -1,3 +0,0 @@ -<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/a53e3af5/ocw-ui/frontend/app/partials/selectObservation.html ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/app/partials/selectObservation.html b/ocw-ui/frontend/app/partials/selectObservation.html deleted file mode 100644 index 68c4a40..0000000 --- a/ocw-ui/frontend/app/partials/selectObservation.html +++ /dev/null @@ -1,58 +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"> - <form class="form-inline" autocomplete="off"> - <input id="observationFileInput" predictive-file-browser-input ng-model="filePathInput" type="text" class="input-xlarge" autocomplete="off" /> - <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> - </form> - - <div class="row"> - <div class="span2 text-center"> - Evaluation Variable - </div> - <div class="span3"> - <select ng-model="paramSelect" ng-options="param for param in params"></select> - </div> - <div class="span2 text-center"> - Latitude Variable - </div> - <div class="span3"> - <select ng-model="latsSelect" ng-options="lat for lat in lats"></select> - </div> - <div class="span2 text-center"> - Longitude Variable - </div> - <div class="span3"> - <select ng-model="lonsSelect" ng-options="lon for lon in lons"></select> - </div> - <div class="span2 text-center"> - Date/Time Variable - </div> - <div class="span3"> - <select ng-model="timeSelect" ng-options="time for time in times"></select> - </div> - </div> - - <button class="btn btn-primary pull-left" ng-click="addDataSet()">Add Dataset</button> - <div class="pull-left small-alert" ng-show="fileAdded">Successfully added dataset...</div> -</div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/app/partials/selectRcmed.html ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/app/partials/selectRcmed.html b/ocw-ui/frontend/app/partials/selectRcmed.html deleted file mode 100644 index e9c5fcf..0000000 --- a/ocw-ui/frontend/app/partials/selectRcmed.html +++ /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. ---> - -<div ng-controller="RcmedSelectionCtrl"> - <div class="row"> - <div class="span5"> - Select the RCMED dataset that you would like use. - </div> - </div> - <div class="row"> - <div class="span4"> - <select ng-change="dataSelectUpdated()" class="span5" ng-model="datasetSelection" ng-options="obs as obs.longname for obs in availableObs"></select> - </div> - </div> - <div class="row"> - <div class="span5"> - Select the dataset parameter that you would like to test. - </div> - </div> - <div class="row"> - <div class="span4"> - <select class="span3" ng-model="parameterSelection" ng-options="param as param.shortname for param in retrievedObsParams"></select> - </div> - </div> - - <button class="btn btn-primary pull-left" ng-click="addObservation()">Add Observation</button> - <div class="pull-left small-alert" ng-show="fileAdded">Successfully added dataset...</div> -</div> \ No newline at end of file http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/config/karma-e2e.conf.js ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/config/karma-e2e.conf.js b/ocw-ui/frontend/config/karma-e2e.conf.js deleted file mode 100755 index 746879e..0000000 --- a/ocw-ui/frontend/config/karma-e2e.conf.js +++ /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. -**/ -basePath = '../'; - -files = [ - ANGULAR_SCENARIO, - ANGULAR_SCENARIO_ADAPTER, - 'test/e2e/**/*.js' -]; - -autoWatch = false; - -browsers = ['Chrome']; - -singleRun = true; - -proxies = { - '/': 'http://localhost:8000/' -}; - -junitReporter = { - outputFile: 'test_out/e2e.xml', - suite: 'e2e' -}; http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/config/karma.conf.js ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/config/karma.conf.js b/ocw-ui/frontend/config/karma.conf.js deleted file mode 100755 index 65b5013..0000000 --- a/ocw-ui/frontend/config/karma.conf.js +++ /dev/null @@ -1,48 +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. -**/ -basePath = '../'; - -files = [ - JASMINE, - JASMINE_ADAPTER, - 'app/js/lib/jquery/jquery-1.10.1.js', - 'app/js/lib/jquery/jquery-ui/jquery-ui-1.10.3.min.js', - 'app/js/lib/bootstrap/bootstrap.js', - 'app/js/lib/angular/angular.js', - 'app/js/lib/angular/angular-*.js', - 'app/js/lib/angular-ui/*.js', - 'test/lib/angular/angular-mocks.js', - 'app/js/lib/jquery/jquery-ui/datepicker-wrapper/date.js', - 'app/js/lib/leaflet/leaflet-0.5.js', - 'app/js/app.js', - 'app/js/controllers/*.js', - 'app/js/directives/*.js', - 'app/js/services/*.js', - 'app/js/filters/*.js', - 'test/unit/**/*.js' -]; - -autoWatch = true; - -browsers = ['Chrome']; - -junitReporter = { - outputFile: 'test_out/unit.xml', - suite: 'unit' -}; http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/scripts/e2e-test.sh ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/scripts/e2e-test.sh b/ocw-ui/frontend/scripts/e2e-test.sh deleted file mode 100755 index dfca333..0000000 --- a/ocw-ui/frontend/scripts/e2e-test.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -# -# 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. -# - -BASE_DIR=`dirname $0` - -echo "" -echo "Starting Karma Server" -echo "-------------------------------------------------------------------" - -karma start $BASE_DIR/../config/karma-e2e.conf.js $* http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/scripts/test.sh ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/scripts/test.sh b/ocw-ui/frontend/scripts/test.sh deleted file mode 100755 index 7094550..0000000 --- a/ocw-ui/frontend/scripts/test.sh +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/bash -# -# 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. -# - -BASE_DIR=`dirname $0` - -echo "" -echo "Starting Karma Server" -echo "-------------------------------------------------------------------" - -karma start $BASE_DIR/../config/karma.conf.js $* http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/scripts/web-server.js ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/scripts/web-server.js b/ocw-ui/frontend/scripts/web-server.js deleted file mode 100755 index e137ad2..0000000 --- a/ocw-ui/frontend/scripts/web-server.js +++ /dev/null @@ -1,313 +0,0 @@ -#!/usr/bin/env node -/* - * 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. -**/ - -var util = require('util'), - http = require('http'), - fs = require('fs'), - url = require('url'), - events = require('events'); - -var DEFAULT_PORT = 8000; - -function main(argv) { - new HttpServer({ - 'GET': createServlet(StaticServlet), - 'HEAD': createServlet(StaticServlet) - }).start(Number(argv[2]) || DEFAULT_PORT); -} - -function escapeHtml(value) { - return value.toString(). - replace('<', '<'). - replace('>', '>'). - replace('"', '"'); -} - -function createServlet(Class) { - var servlet = new Class(); - return servlet.handleRequest.bind(servlet); -} - -/** - * An Http server implementation that uses a map of methods to decide - * action routing. - * - * @param {Object} Map of method => Handler function - */ -function HttpServer(handlers) { - this.handlers = handlers; - this.server = http.createServer(this.handleRequest_.bind(this)); -} - -HttpServer.prototype.start = function(port) { - this.port = port; - this.server.listen(port); - util.puts('Http Server running at http://localhost:' + port + '/'); -}; - -HttpServer.prototype.parseUrl_ = function(urlString) { - var parsed = url.parse(urlString); - parsed.pathname = url.resolve('/', parsed.pathname); - return url.parse(url.format(parsed), true); -}; - -HttpServer.prototype.handleRequest_ = function(req, res) { - var logEntry = req.method + ' ' + req.url; - if (req.headers['user-agent']) { - logEntry += ' ' + req.headers['user-agent']; - } - util.puts(logEntry); - req.url = this.parseUrl_(req.url); - var handler = this.handlers[req.method]; - if (!handler) { - res.writeHead(501); - res.end(); - } else { - handler.call(this, req, res); - } -}; - -/** - * Handles static content. - */ -function StaticServlet() {} - -StaticServlet.MimeMap = { - 'txt': 'text/plain', - 'html': 'text/html', - 'css': 'text/css', - 'xml': 'application/xml', - 'json': 'application/json', - 'js': 'application/javascript', - 'jpg': 'image/jpeg', - 'jpeg': 'image/jpeg', - 'gif': 'image/gif', - 'png': 'image/png', -Â 'svg': 'image/svg+xml' -}; - -StaticServlet.prototype.handleRequest = function(req, res) { - var self = this; - var path = ('./' + req.url.pathname).replace('//','/').replace(/%(..)/g, function(match, hex){ - return String.fromCharCode(parseInt(hex, 16)); - }); - var parts = path.split('/'); - if (parts[parts.length-1].charAt(0) === '.') - return self.sendForbidden_(req, res, path); - if (~path.indexOf("dirlist")) - return self.getDirList_(req, res, path); - fs.stat(path, function(err, stat) { - if (err) - return self.sendMissing_(req, res, path); - if (stat.isDirectory()) - return self.sendDirectory_(req, res, path); - return self.sendFile_(req, res, path); - }); -} - -StaticServlet.prototype.sendError_ = function(req, res, error) { - res.writeHead(500, { - 'Content-Type': 'text/html' - }); - res.write('<!doctype html>\n'); - res.write('<title>Internal Server Error</title>\n'); - res.write('<h1>Internal Server Error</h1>'); - res.write('<pre>' + escapeHtml(util.inspect(error)) + '</pre>'); - util.puts('500 Internal Server Error'); - util.puts(util.inspect(error)); -}; - -StaticServlet.prototype.sendMissing_ = function(req, res, path) { - path = path.substring(1); - res.writeHead(404, { - 'Content-Type': 'text/html' - }); - res.write('<!doctype html>\n'); - res.write('<title>404 Not Found</title>\n'); - res.write('<h1>Not Found</h1>'); - res.write( - '<p>The requested URL ' + - escapeHtml(path) + - ' was not found on this server.</p>' - ); - res.end(); - util.puts('404 Not Found: ' + path); -}; - -StaticServlet.prototype.sendForbidden_ = function(req, res, path) { - path = path.substring(1); - res.writeHead(403, { - 'Content-Type': 'text/html' - }); - res.write('<!doctype html>\n'); - res.write('<title>403 Forbidden</title>\n'); - res.write('<h1>Forbidden</h1>'); - res.write( - '<p>You do not have permission to access ' + - escapeHtml(path) + ' on this server.</p>' - ); - res.end(); - util.puts('403 Forbidden: ' + path); -}; - -StaticServlet.prototype.sendRedirect_ = function(req, res, redirectUrl) { - res.writeHead(301, { - 'Content-Type': 'text/html', - 'Location': redirectUrl - }); - res.write('<!doctype html>\n'); - res.write('<title>301 Moved Permanently</title>\n'); - res.write('<h1>Moved Permanently</h1>'); - res.write( - '<p>The document has moved <a href="' + - redirectUrl + - '">here</a>.</p>' - ); - res.end(); - util.puts('301 Moved Permanently: ' + redirectUrl); -}; - -StaticServlet.prototype.getDirList_ = function(req, res, path) { - res.writeHead(200, { - 'Content-Type': 'json' - }); - - // Grab the passed path value - var pathQuery = url.parse(req.url, true).query.path - // Using the supplied path, grab directory information - var dirList = fs.readdirSync(pathQuery); - - // Filter out any hidden files or current/previous directory references - dirList = dirList.filter(function(item, index, array) { - return (item[0] !== "."); - }); - - // Generate the full path names for all the items found when 'ls'-ing - // the passed directory. - dirList = dirList.map(function(item, index, array) { - var temp = item; - - // Make sure the path is joined properly. Sometimes there will be a trailing - // '/' in the path and sometimes there won't. Don't want to end up with '//'. - if (pathQuery[pathQuery.length - 1] === "/") { - temp = pathQuery + item; - } else { - temp = pathQuery + "/" + item; - } - - // We want the directories that are found to have a trailing '/'. Let's make sure - // that we do that! - var ret = temp; - if (fs.existsSync(temp + "/")) { - ret = temp + "/"; - } - - return ret; - }); - - // Sort all the results alphabetically ignoring case. - dirList = dirList.sort(function(a, b) { - if (a.toLowerCase() < b.toLowerCase()) return -1; - if (a.toLowerCase() > b.toLowerCase()) return 1; - return 0; - }); - - res.write(JSON.stringify(dirList)); - res.end(); -} - -StaticServlet.prototype.sendFile_ = function(req, res, path) { - var self = this; - var file = fs.createReadStream(path); - res.writeHead(200, { - 'Content-Type': StaticServlet. - MimeMap[path.split('.').pop()] || 'text/plain' - }); - if (req.method === 'HEAD') { - res.end(); - } else { - file.on('data', res.write.bind(res)); - file.on('close', function() { - res.end(); - }); - file.on('error', function(error) { - self.sendError_(req, res, error); - }); - } -}; - -StaticServlet.prototype.sendDirectory_ = function(req, res, path) { - var self = this; - if (path.match(/[^\/]$/)) { - req.url.pathname += '/'; - var redirectUrl = url.format(url.parse(url.format(req.url))); - return self.sendRedirect_(req, res, redirectUrl); - } - fs.readdir(path, function(err, files) { - if (err) - return self.sendError_(req, res, error); - - if (!files.length) - return self.writeDirectoryIndex_(req, res, path, []); - - var remaining = files.length; - files.forEach(function(fileName, index) { - fs.stat(path + '/' + fileName, function(err, stat) { - if (err) - return self.sendError_(req, res, err); - if (stat.isDirectory()) { - files[index] = fileName + '/'; - } - if (!(--remaining)) - return self.writeDirectoryIndex_(req, res, path, files); - }); - }); - }); -}; - -StaticServlet.prototype.writeDirectoryIndex_ = function(req, res, path, files) { - path = path.substring(1); - res.writeHead(200, { - 'Content-Type': 'text/html' - }); - if (req.method === 'HEAD') { - res.end(); - return; - } - res.write('<!doctype html>\n'); - res.write('<title>' + escapeHtml(path) + '</title>\n'); - res.write('<style>\n'); - res.write(' ol { list-style-type: none; font-size: 1.2em; }\n'); - res.write('</style>\n'); - res.write('<h1>Directory: ' + escapeHtml(path) + '</h1>'); - res.write('<ol>'); - files.forEach(function(fileName) { - if (fileName.charAt(0) !== '.') { - res.write('<li><a href="' + - escapeHtml(fileName) + '">' + - escapeHtml(fileName) + '</a></li>'); - } - }); - res.write('</ol>'); - res.end(); -}; - -// Must be last, -main(process.argv); http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/test/e2e/runner.html ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/test/e2e/runner.html b/ocw-ui/frontend/test/e2e/runner.html deleted file mode 100755 index 73c7733..0000000 --- a/ocw-ui/frontend/test/e2e/runner.html +++ /dev/null @@ -1,28 +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. - --> -<!doctype html> -<html lang="en"> - <head> - <title>End2end Test Runner</title> - <script src="../lib/angular/angular-scenario.js" ng-autotest></script> - <script src="scenarios.js"></script> - </head> - <body> - </body> -</html> http://git-wip-us.apache.org/repos/asf/climate/blob/a53e3af5/ocw-ui/frontend/test/e2e/scenarios.js ---------------------------------------------------------------------- diff --git a/ocw-ui/frontend/test/e2e/scenarios.js b/ocw-ui/frontend/test/e2e/scenarios.js deleted file mode 100755 index c7c0e6c..0000000 --- a/ocw-ui/frontend/test/e2e/scenarios.js +++ /dev/null @@ -1,63 +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'; - -/* http://docs.angularjs.org/guide/dev_guide.e2e-testing */ - -describe('my app', function() { - - beforeEach(function() { - browser().navigateTo('../../app/index.html'); - }); - - - it('should automatically redirect to /view1 when location hash/fragment is empty', function() { - expect(browser().location().url()).toBe("/view1"); - }); - - - describe('view1', function() { - - beforeEach(function() { - browser().navigateTo('#/view1'); - }); - - - it('should render view1 when user navigates to /view1', function() { - expect(element('[ng-view] p:first').text()). - toMatch(/partial for view 1/); - }); - - }); - - - describe('view2', function() { - - beforeEach(function() { - browser().navigateTo('#/view2'); - }); - - - it('should render view2 when user navigates to /view2', function() { - expect(element('[ng-view] p:first').text()). - toMatch(/partial for view 2/); - }); - - }); -});
