More work on POCONSOLE-75. Adds Templates for Backup and Restore
This commit is contained in:
@@ -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>
|
||||
|
||||
|
||||
|
||||
@@ -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;
|
||||
};
|
||||
|
||||
});
|
||||
|
||||
@@ -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){
|
||||
|
||||
@@ -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'
|
||||
|
||||
150
app/static/templates/backuprestore.html
Normal file
150
app/static/templates/backuprestore.html
Normal 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">×</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">×</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">×</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>
|
||||
Reference in New Issue
Block a user