More work on POCONSOLE-75. Adds Templates for Backup and Restore

This commit is contained in:
Patrick McDonagh
2016-12-02 13:57:00 -06:00
parent 9be2903bea
commit 0dfde36eff
5 changed files with 181 additions and 58 deletions

View File

@@ -85,6 +85,7 @@
<script src="js/welltest.factory.js"></script>
<script src="js/notes.factory.js"></script>
<script src="js/fluidshot.factory.js"></script>
<script src="js/backup_restore.factory.js"></script>
<script src="js/config.controller.js"></script>
<script src="js/dashboard.controller.js"></script>
@@ -97,6 +98,7 @@
<script src="js/events.controller.js"></script>
<script src="js/notes.controller.js"></script>
<script src="js/fluidshot.controller.js"></script>
<script src="js/backup_restore.controller.js"></script>
</body>

View File

@@ -9,10 +9,10 @@ poconsole.controller('backupRestoreCtrl', function($scope, $route, $http, $route
var getBRTagList = BackupRestore.getBRTags();
getBRTagList.then(function(data) {
$scope.loading = false;
$scope.bRTags = data.objects;
$scope.brTags = data.objects;
});
};
$scope.loadBRTagList();
$scope.loadBRTagList(); //Run this function on controller startup to load list
var getAllDevices = Device.getAllDevices();
getAllDevices.then(function(d){
@@ -20,73 +20,40 @@ poconsole.controller('backupRestoreCtrl', function($scope, $route, $http, $route
});
$scope.submitAddBRTag = function(){
var createStatus = Tag.createTag($scope.newTag);
$scope.createStatus = createStatus.status;
$scope.loadTagList();
};
$scope.openDeleteTag = function(id){
var getTag = Tag.getTag(id);
getTag.then(function(data){
$scope.error = false;
$scope.dTag = data.tag;
$log.info("Thinking about deleting tag with parameters: "+ JSON.stringify($scope.dTag));
var createStatus = BackupRestore.createBRTag($scope.newTag);
$scope.createStatus.then(function(data){
$scope.loadBRTagList();
});
};
$scope.deleteTag = function(id){
var deleteTag = Tag.deleteTag(id);
deleteTag.then(function(data){
$log.info("deleting tag "+ id + " status: " + data.status);
$scope.openDeleteBRTag = function(id){
var getBRTag = BackupRestore.getBRTag(id);
getBRTag.then(function(data){
$scope.error = false;
$scope.loadTagList();
$scope.dBRTag = data;
});
};
$scope.openClearTagData = function(id){
var getTag = Tag.getTag(id);
getTag.then(function(data){
$scope.deleteBRTag = function(id){
var deleteBRTag = BackupRestore.deleteBRTag(id);
deleteBRTag.then(function(data){
$scope.error = false;
$scope.dTagValues = data.tag;
$log.info("Thinking about deleting tag data with parameters: "+ JSON.stringify($scope.dTagValues));
$scope.loadBRTagList();
});
};
$scope.deleteTagValues = function(id){
var clearSingleTagData = Tag.clearSingleTagData(id);
clearSingleTagData.then(function(data){
$log.info("deleting tag "+ id + " status: " + data.status);
$scope.openEditBRTag = function(id){
var getBRTag = BackupRestore.getBRTag(id);
getBRTag.then(function(data){
$scope.error = false;
$scope.loadTagList();
$scope.editBRTag = data;
});
};
$scope.openEditTag = function(id){
var getTag = Tag.getTag(id);
getTag.then(function(data){
$scope.error = false;
$scope.editTag = data.tag;
$log.info("Started editing tag with parameters: "+ JSON.stringify($scope.editTag));
$scope.submitEditBRTag = function(){
var updateBRTag = BackupRestore.updateBRTag($scope.editTag);
updateBRTag.then(function(data){
$scope.loadBRTagList();
});
};
$scope.submitEditTag = function(){
var editStatus = Tag.updateTag($scope.editTag);
$scope.loadTagList();
};
$scope.getPlotTags = function(){
var tags_to_plot = [];
for(var i =0; i<$scope.tags.length; i ++){
if ($scope.tags[i].selectedForPlot){
tags_to_plot.push($scope.tags[i]._id);
}
}
$scope.tags_to_plot = tags_to_plot.join();
};
$scope.device_label = function(data_type_obj){
return data_type_obj.address + " - " + data_type_obj.device_type.device_type;
};
});

View File

@@ -26,6 +26,8 @@ poconsole.factory('BackupRestore', function($q, $http, $log){
};
service.updateBRTag = function(brTag){
var deferred = $q.defer();
var url = "/api/backup_restore/" + brTag._id;
var put_obj = {
tag: brTag.tag
};
@@ -38,11 +40,10 @@ poconsole.factory('BackupRestore', function($q, $http, $log){
put_ojb.value = brTag.value;
}
$http.put('/api/backup_restore/'+ brTag._id, data=put_obj).success(function(data){
return data;
}).error(function(err){
$log.warn("updateTag Error: " + err);
$http.put(url, data=put_obj).success(function(data){
deferred.resolve(data);
});
return deferred.promise;
};
service.deleteBRTag = function(id){

View File

@@ -43,6 +43,9 @@ tagserver.config([
}).when('/latest_stroke', {
templateUrl: '/templates/latestcard.html',
controller: 'latestStrokeCtrl'
}).when('/backup_restore', {
templateUrl: '/templates/backuprestore.html',
controller: 'backupRestoreCtrl'
}).when('/multiplecards/:cardIDs', {
templateUrl: '/templates/multiplecards.html',
controller: 'multipleCardDataCtrl'

View File

@@ -0,0 +1,150 @@
<div class="modal fade" id="addModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Add a New Tag...</h4>
</div>
<div class="modal-body">
<div class="well" ng-if="message"><h3 class="text-danger">{{message}}</h3></div>
<form>
<div class="form-group">
<label for="data_source">Data Source</label>
<select ng-model="newBRTag.device_id" ng-options="d._id as device_label(d) for d in devices" class="form-control" id="data_source"></select>
</div>
<div class="form-group">
<label for="tag">Tag</label>
<input type="text" ng-model="newBRTag.tag" class="form-control" id="tag" placeholder="Tag Name Here">
</div>
<div class="form-group">
<label for="tag_type">Data Type</label>
<select ng-model="newBRTag.tag_type" ng-options="t for t in data_types" class="form-control" id="tag_type"></select>
</div>
<div class="form-group">
<label for="value">Value</label>
<input type="number" ng-model="newBRTag.value" class="form-control" id="value" placeholder="0">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" ng-click="submitAddBRTag();" data-dismiss="modal">Add Tag</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<div class="modal fade" id="editModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Edit a Tag...</h4>
</div>
<div class="modal-body">
<div class="well" ng-if="message"><h3 class="text-danger">{{message}}</h3></div>
<form>
<div class="form-group">
<label for="data_source">Data Source {{editBRTag.device_id}}</label>
<select ng-model="editBRTag.device_id" ng-options="d._id as device_label(d) for d in devices" class="form-control" id="data_source"></select>
</div>
<div class="form-group">
<label for="tag">Tag Name</label>
<input type="text" ng-model="editBRTag.tag" class="form-control" id="tag" placeholder="Tag Name Here">
</div>
<div class="form-group">
<label for="tag_type">Data Type</label>
<select ng-model="editBRTag.tag_type" ng-options="t for t in data_types" class="form-control" id="tag_type"></select>
</div>
<div class="form-group">
<label for="value">Value</label>
<input type="number" ng-model="editBRTag.value" class="form-control" id="value" placeholder="0">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" ng-click="submitEditBRTag();" data-dismiss="modal">Submit Tag Edits</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<div class="modal fade" id="deleteModal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
<h4 class="modal-title">Are you sure?</h4>
</div>
<div class="modal-body">
<div class="well" ng-if="message"><h3 class="text-danger">{{message}}</h3></div>
<h3>Are you sure you want to delete the tag {{dTag.name}} ({{dTag.tag}})?</h3>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">NO!!!!!!</button>
<button type="button" class="btn btn-danger" ng-click="deleteBRTag(dBRTag._id);" data-dismiss="modal">Heck yes, delete it!</button>
</div>
</div><!-- /.modal-content -->
</div><!-- /.modal-dialog -->
</div><!-- /.modal -->
<div ng-if="loading" class="container">
<div class="row">
<div class="col-md-12 well" style="text-align:center;">
<h1>Loading Tags..</h1>
<img class="img-responsive" src="/images/loading.gif" style="margin:0 auto;"/>
</div>
</div>
</div>
<div ng-if="!loading">
<div ng-if="error" class="container">
<div class="row">
<div class="col-md=12">
<h1>Error Caught!</h1>
<pre>{{message}}</pre>
</div>
</div>
</div>
<div ng-if="!error" class="container">
<div class="row">
<div class="col-md-12">
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#addModal">
Add Tag
</button>
<table class="table">
<thead>
<tr>
<td>Tag</td>
<td>Tag Type</td>
<td>Value</td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</thead>
<tbody>
<tr ng-repeat="tag in brTags">
<td>{{tag.tag}}</td>
<td>{{tag.tag_type}}</td>
<td>{{tag.max_expvalueected}}</td>
<td><button data-toggle="modal" data-target="#editModal" ng-click="openEditBRTag(tag._id)" class="btn btn-primary">Edit</button></td>
<td><button data-toggle="modal" data-target="#deleteModal" ng-click="openDeleteTag(tag._id)" class="btn btn-danger">Delete</button></td>
<td><button ng-click="backupBRTag(tag._id)" class="btn btn-danger">Back Up</button></td>
<td><button ng-click="restoreBRTag(tag._id)" class="btn btn-danger">Restore</button></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>