mostly working lab-ui with new features

This commit is contained in:
Chuck
2019-06-26 20:34:54 -04:00
parent 7054553fdb
commit 8b59a4855c
2 changed files with 52 additions and 22 deletions

View File

@@ -317,17 +317,45 @@ bagPlayingTopic.subscribe(function(message) {
function triggerService(serviceName, toSend) function triggerService(serviceName, toSend)
{ {
if(!toSend) {
serviceType = 'std_srvs/demobot.Trigger'
} else {
serviceType = 'std_srvs/demobot.TriggerMessage'
}
var service = new ROSLIB.Service({ var service = new ROSLIB.Service({
ros : ros, ros : ros,
name : serviceName, name : serviceName,
serviceType : 'std_srvs/Trigger' serviceType : serviceType
}); });
if(!toSend) { if(!toSend) {
toSend = {}; var request = new ROSLIB.ServiceRequest({});
} else {
var toSend = JSON.stringify(toSend);
var request = new ROSLIB.ServiceRequest({message : toSend});
} }
var request = new ROSLIB.ServiceRequest(toSend);
/*
var service = new ROSLIB.Service({
ros : ros,
name : serviceName,
serviceType : 'std_srvs/demobot.TriggerMessage'
});
if(toSend) {
toSend = JSON.stringify(toSend)
} else {
toSend = ""
}
*/
var request = new ROSLIB.ServiceRequest({message : toSend});
var serviceCallTimeStamp = Date.now(); var serviceCallTimeStamp = Date.now();
var serviceCallReturned = false; var serviceCallReturned = false;
service.callService(request, function(result) { service.callService(request, function(result) {

View File

@@ -12,7 +12,7 @@ function getBagList(callback)
var request = new ROSLIB.ServiceRequest({}); var request = new ROSLIB.ServiceRequest({});
service.callService(request, function(result) { service.callService(request, function(result) {
callback(result.message); callback(JSON.parse(result.message));
}); });
} }
@@ -27,7 +27,7 @@ function getBagCategoryList(callback)
var request = new ROSLIB.ServiceRequest({}); var request = new ROSLIB.ServiceRequest({});
service.callService(request, function(result) { service.callService(request, function(result) {
callback(result.message); callback(JSON.parse(result.message));
}); });
} }
@@ -42,7 +42,7 @@ function getBagTagList(callback)
var request = new ROSLIB.ServiceRequest({}); var request = new ROSLIB.ServiceRequest({});
service.callService(request, function(result) { service.callService(request, function(result) {
callback(result.message); callback(JSON.parse(result.message));
}); });
} }
@@ -82,8 +82,8 @@ function displayTaggingOptions(mode) {
var fileNameSelectize = $fileNameSelect[0].selectize; var fileNameSelectize = $fileNameSelect[0].selectize;
fileNameSelectize.clearOptions() fileNameSelectize.clearOptions()
// /aescape/bags/getBagList // /aescape/bags/getBagList
getBagList(function(result){ getBagList(function(results){
fileNameSelectize.addOption([].map(function(bagName){ fileNameSelectize.addOption(results.map(function(bagName){
return {name : bagName} return {name : bagName}
})); }));
}) })
@@ -126,10 +126,9 @@ function displayTaggingOptions(mode) {
} }
function hideTaggingOptions(mode, updateValues=false) { function hideTaggingOptions(mode, updateValues=false) {
var modeTag = '#' + mode + 'Tag'; var modeTag = '#' + mode + 'Tags';
if(updateValues) { if(updateValues) {
var modeTag = '#' + mode + 'Tags';
var fileNameSelector = '#' + mode + 'BagFileName'; var fileNameSelector = '#' + mode + 'BagFileName';
var categorySelector = '#' + mode + 'BagCategory'; var categorySelector = '#' + mode + 'BagCategory';
var tagSelector = '#' + mode + 'BagTags'; var tagSelector = '#' + mode + 'BagTags';
@@ -138,27 +137,34 @@ function hideTaggingOptions(mode, updateValues=false) {
var category = $(categorySelector).val(); var category = $(categorySelector).val();
var tags = $(tagSelector).val(); var tags = $(tagSelector).val();
getBagList(function(results){
bag_name = results[0].filename
})
updateBagMetadata(mode, bag_name, filename, category, tags) updateBagMetadata(mode, bag_name, filename, category, tags)
} }
//TO DO: Wait for the response from the backend before setting the display to none //TO DO: Wait for the response from the backend before setting the display to none
document.getElementById(modeTag).setAttribute('overflow', 'hidden'); document.querySelector(modeTag).setAttribute('overflow', 'hidden');
document.getElementById(modeTag).classList.remove('open'); document.querySelector(modeTag).classList.remove('open');
} }
function updateBagMetadata(mode, bag_name, modified_bag_name, category, tags) { function updateBagMetadata(mode, bag_name, modified_bag_name, category, tags) {
if(!mode) { if(!mode) {
return //error //return //error
} }
if(!bag_name) { if(!bag_name) {
return // error //return // error
} }
triggerService('/aescape/bags/updateBagMeta', {
var toSend = {
mode : mode, mode : mode,
bag_name : bag_name, bag_name : bag_name,
modified_bag_name : modified_bag_name, modified_bag_name : modified_bag_name,
category : category, category : category,
tags : tags tags : tags
}) }
triggerService('/aescape/bags/updateBagMeta', toSend)
} }
function displayLoadingOptions() { function displayLoadingOptions() {
@@ -167,9 +173,6 @@ function displayLoadingOptions() {
document.querySelector(selector).classList.add('open'); document.querySelector(selector).classList.add('open');
//get bag list
//select last recorded bag
//do animation
var $select = $('#bagList').selectize({ var $select = $('#bagList').selectize({
valueField: 'filename', valueField: 'filename',
labelField: 'filename', labelField: 'filename',
@@ -198,7 +201,6 @@ function displayLoadingOptions() {
getBagList(function(results){ getBagList(function(results){
var selectize = $select[0].selectize; var selectize = $select[0].selectize;
selectize.clearOptions() selectize.clearOptions()
results = [{'filename' : 'hellobiathco', 'category' : 'hellobiathcat', 'tags' : ['hellobiathtag', 'hellobiatag2']}]
selectize.addOption(results); selectize.addOption(results);
if(results[0]) { if(results[0]) {
selectize.setValue(results[0].filename); selectize.setValue(results[0].filename);
@@ -209,7 +211,7 @@ function displayLoadingOptions() {
function hideLoadingOptions() { function hideLoadingOptions() {
var selector = '#bagList'; var selector = '#bagList';
document.getElementById(selector).setAttribute('overflow', 'hidden'); document.querySelector(selector).setAttribute('overflow', 'hidden');
document.getElementById(selector).classList.remove('open'); document.querySelector(selector).classList.remove('open');
} }