diff --git a/client/app/components/coordinator/coordinator.html b/client/app/components/coordinator/coordinator.html
index 492d0a6..7fcf3e0 100644
--- a/client/app/components/coordinator/coordinator.html
+++ b/client/app/components/coordinator/coordinator.html
@@ -119,7 +119,60 @@
-
+
+
+ Franka Force
+
+
+
+
+
+
+ -
+
X: 0.0
+
+ -
+
Y: 0.0
+
+ -
+
Z: 0.0
+
+
+
+
+
+
+ -
+
X: 0.0
+
+ -
+
Y: 0.0
+
+ -
+
Z: 0.0
+
+
+
+
+
+
+
+
+
+
Robotiq
@@ -129,14 +182,14 @@
N/A
- -
-
X: 0.0
+ -
+
X: 0.0
- -
-
Y: 0.0
+ -
+
Y: 0.0
- -
-
Z: 0.0
+ -
+
Z: 0.0
@@ -274,20 +327,21 @@
-
@@ -325,29 +379,43 @@
diff --git a/client/app/components/coordinator/js/ros_scripts.js b/client/app/components/coordinator/js/ros_scripts.js
index db0539d..519156b 100644
--- a/client/app/components/coordinator/js/ros_scripts.js
+++ b/client/app/components/coordinator/js/ros_scripts.js
@@ -428,36 +428,5 @@ function invokeSafetyController(event)
-function displayTaggingOptions(id) {
-
- //populate the values in the select boxes on every display
- // /aescape/bags/getCategoryList
- // /aescape/bags/getTagList
- // /aescape/bags/getBagList
-
-
- //Subscribe to topics from the backend which indicate recording or playback is complete
- document.getElementById(id).style.display = '';
-}
-
-function hideTaggingOptions(id, updateValues=false) {
- if(updateValues) {
- //get values from the elements
- updateBagMetadata(mode, bag_name, modified_bag_name, category, tags)
- }
- //TO DO: Wait for the response from the backend before setting the display to none
- document.getElementById(id).style.display = 'none'
-}
-
-function updateBagMetadata(mode, bag_name, modified_bag_name, category, tags) {
- if(!mode) {
- return //error
- }
- if(!bag_name) {
- return // error
- }
- triggerService('/aescape/bags/updateBagMeta')
-}
-
diff --git a/client/app/components/coordinator/js/update_guis.js b/client/app/components/coordinator/js/update_guis.js
index 5c1cb17..89d2046 100644
--- a/client/app/components/coordinator/js/update_guis.js
+++ b/client/app/components/coordinator/js/update_guis.js
@@ -50,7 +50,94 @@ setTimeout(function(){
$(function () {
$('[data-toggle="popover"]').popover()
})
+
+
+ var $select = $('#playBagFileName').selectize({
+ valueField: 'name',
+ labelField: 'name',
+ searchField: ['name'],
+ options: [],
+ create: true,
+ placeholder : "Enter a name for the bag"
+ });
+
+ var selectize = $select[0].selectize;
+ selectize.clearOptions()
+ selectize.addOption([].map(function(bagName){
+ return {name : bagName}
+ }));
+
+ var $select2 = $('#playBagCategory').selectize({
+ valueField: 'name',
+ labelField: 'name',
+ searchField: ['name'],
+ options: [],
+ create: true,
+ placeholder : "Enter or select a category for the bag"
+ });
+
+ var selectize2 = $select2[0].selectize;
+ //selectize.clearOptions()
+ results2 = ['Production', 'Test'];
+ selectize2.addOption(results2.map(function(bagName){
+ return {name : bagName}
+ }));
+
+ var $select3 = $('#playBagTags').selectize({
+ valueField: 'name',
+ labelField: 'name',
+ searchField: ['name'],
+ maxItems: 3,
+ options: [],
+ create: true,
+ placeholder : "Enter or select tags for the bag"
+ });
+
+ var selectize3 = $select3[0].selectize;
+ //selectize.clearOptions()
+ results3 = ['single-arm', 'dual-arm', 'palpation', 'demo'];
+ selectize3.addOption(results3.map(function(bagName){
+ return {name : bagName}
+ }));
+
}, 100);
+function displayTaggingOptions(id) {
+
+ //populate the values in the select boxes on every display
+ // /aescape/bags/getCategoryList
+ // /aescape/bags/getTagList
+ // /aescape/bags/getBagList
+
+
+ //Subscribe to topics from the backend which indicate recording or playback is complete
+ document.getElementById(id).classList.add('open');
+ //Putting this in a timeout to wait for the animation to finish completing
+ setTimeout(function(){
+ document.getElementById(id).setAttribute('overflow', 'visible');
+ }, 600)
+}
+
+function hideTaggingOptions(id, updateValues=false) {
+ if(updateValues) {
+ //get values from the elements
+ updateBagMetadata(mode, bag_name, modified_bag_name, category, tags)
+ }
+ //TO DO: Wait for the response from the backend before setting the display to none
+ document.getElementById(id).setAttribute('overflow', 'hidden');
+ document.getElementById(id).classList.remove('open');
+}
+
+function updateBagMetadata(mode, bag_name, modified_bag_name, category, tags) {
+ if(!mode) {
+ return //error
+ }
+ if(!bag_name) {
+ return // error
+ }
+ triggerService('/aescape/bags/updateBagMeta')
+}
+
+
diff --git a/client/app/main.css b/client/app/main.css
index 132fad1..bec11d3 100644
--- a/client/app/main.css
+++ b/client/app/main.css
@@ -316,14 +316,23 @@ html, body {
background-image: linear-gradient(#b45f06, #783f04) !important;
}
- .status-container .robotiq .progress {
- margin-bottom: 5px;
+ .force-bar .progress {
+ margin-bottom: 0px;
}
- .status-container .robotiq .list-group-horizontal {
+ .force-bar .list-group-horizontal {
justify-content: center;
}
+ .force-bar .force-value {
+ margin-left: 10px;
+ }
+
+ .force-bar .bar-label {
+ color: black;
+ font-weight: 500;
+ }
+
#recordingStartButton[active] {
animation: blinker 3s linear infinite;
}
@@ -382,4 +391,22 @@ html, body {
width: 100%;
}
-
\ No newline at end of file
+ #playTagError {
+ margin-top: 5px;
+ }
+
+ .tagging-options i {
+ font-size: 30px;
+ margin-top: 5px;
+ margin-bottom: 5px;
+ }
+
+
+ .tagging-options {
+ height: 0;
+ overflow: hidden;
+ transition: height 600ms ease 0ms;
+ }
+ .tagging-options.open {
+ height: 122px;
+ }
\ No newline at end of file