added status bars. Formatting other cards

This commit is contained in:
Rohit
2019-06-04 18:25:45 -04:00
parent dbd8de27cc
commit 3d8246dc09
2 changed files with 315 additions and 212 deletions

View File

@@ -7,41 +7,83 @@
Left Arm
</div>
<div class="panel-body">
<div class="status-bar">
<div class="status-container">
<div class="safety-monitor">
<div class="heading">
Safety Monitor Status
<div class="safety-monitor panel panel-default panel-horizontal">
<div class="panel-heading">
Safety Monitor
</div>
<div class="status-list">
<ul class="list-group list-group-horizontal">
<li id="left_safetyRunning" class="list-group-item">Running</li>
<li id="left_safetyStopped" class="list-group-item">Stopped</li>
</ul>
<div class="panel-body text-center">
<div class="status-list">
<ul class="list-group list-group-horizontal">
<li id="left_safetyRunning" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Running</label>
</div>
</li>
<li id="left_safetyStopped" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Stopped</label>
</div>
</li>
</ul>
</div>
</div>
<div class="action-button">
<button type="button" onclick="triggerService('/left/aescape/mode/activateSafetyController')" class="btn btn-sm btn-default">
Activate Safety Monitor
<div class="action-button panel-footer">
<button type="button" onclick="triggerService('/left/aescape/mode/activateSafetyController')" class="btn btn-sm">
Activate
</button>
</div>
</div>
</div>
<div class="status-container">
<div class="franka">
<div class="heading">
Franka Arm Status
<div class="franka panel panel-default panel-horizontal">
<div class="panel-heading">
Franka Arm
</div>
<div class="status-list">
<ul class="list-group list-group-horizontal">
<li id="left_safetyRunning" class="list-group-item">Running</li>
<li id="left_safetyStopped" class="list-group-item">Stopped</li>
</ul>
<div class="panel-body text-center">
<div class="status-list">
<ul class="list-group list-group-horizontal">
<li id="left_frankaModeIdle" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Idle</label>
</div>
</li>
<li id="left_frankaModeMove" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Move</label>
</div>
</li>
<li id="left_frankaModeGuiding" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Guiding</label>
</div>
</li>
<li id="left_frankaModeReflex" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Reflex</label>
</div>
</li>
<li id="left_frankaModeUserStopped" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>User Stopped</label>
</div>
</li>
<li id="left_frankaModeErrorRecovery" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Automatic Error Recovery</label>
</div>
</li>
</ul>
</div>
</div>
<div class="action-button">
<button type="button" onclick="triggerService('/left/aescape/mode/activateSafetyController')" class="btn btn-sm btn-default">
Activate Safety Monitor
</button>
<div class="action-button panel-footer">
<button id="left_fixFrankaButton" type="button" onclick="triggerService('/left/aescape/hardware/resetFrankaError')" class="btn btn-sm">
Fix Errors
</button>
</div>
</div>
</div>
@@ -51,8 +93,9 @@
<div class="control-card panel panel-default">
<div class="panel-heading">
EEF Configuration
<i class="far fa-hand-point-left pull-right"></i>
<i class="fas fa-info-circle"></i>
</div>
<div class="panel-body text-center">
<div class="button-area">
<button type="button" onclick="triggerService('/left/aescape/hardware/setTrainingEEF')" class="btn btn-primary col-md-6">
@@ -65,7 +108,7 @@
</div>
<div class="action-area panel-footer">
<div class="message">
You must be in "Stopped Mode" to change the EEF configuration!
<!--You must be in "Stopped Mode" to change the EEF configuration! -->
</div>
</div>
</div>
@@ -74,22 +117,23 @@
<div class="control-card-six control-card panel panel-default">
<div class="panel-heading">
Select Operation Mode
<i class="fas fa-info-circle"></i>
</div>
<div class="panel-body text-center">
<div class="button-area">
<button id="left_teachingModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateTeachingController')" class="btn btn-primary col-lg-4">
<button id="left_teachingModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateTeachingController')" class="btn btn-primary col-md-4">
Teaching Mode
</button>
<button id="left_executionModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateExecutionController')" class="btn btn-primary col-lg-4">
<button id="left_executionModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateExecutionController')" class="btn btn-primary col-md-4">
Massage Mode
</button>
<button id="left_readyModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-primary col-lg-4">
<button id="left_readyModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-primary col-md-4">
Ready Mode
</button>
<button id="left_standbyModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateStandbyController')" class="btn btn-primary col-lg-4">
<button id="left_standbyModeButton" type="button" onclick="triggerService('/left/aescape/mode/activateStandbyController')" class="btn btn-primary col-md-4">
Standby Mode
</button>
<button id="left_stoppedModeButton" type="button" onclick="triggerService('/left/aescape/mode/stopControllers')" class="btn btn-primary col-lg-4">
<button id="left_stoppedModeButton" type="button" onclick="triggerService('/left/aescape/mode/stopControllers')" class="btn btn-primary col-md-4">
Stopped Mode
</button>
</div>
@@ -103,7 +147,7 @@
<h4><span id="left_safetyStopped" class="label label-default">Stopped</span></h4>
</div>
<div class="row-md-3">
<button type="button" onclick="triggerService('/left/aescape/mode/activateSafetyController')" class="btn btn-sm btn-default">
<button type="button" onclick="triggerService('/left/aescape/mode/activateSafetyController')" class="btn btn-sm">
Activate Safety Monitor
</button>
</div>
@@ -117,137 +161,90 @@
</div>
</div>
</div>
<div class="control-card panel panel-default col-md-6">
<div class="panel-heading">
Franka Arm Status
</div>
<div class="panel-body text-center">
<div class="col-md-4">
Current Robot Status:
<div class="row-md-3">
<h4><span id="left_frankaModeOther" class="label label-default">Other</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeIdle" class="label label-default">Idle</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeMove" class="label label-default">Move</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeGuiding" class="label label-default">Guiding</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeReflex" class="label label-default">Reflex</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeUserStopped" class="label label-default">User Stopped</span></h4>
</div>
<div class="row-md-3">
<h4><span id="left_frankaModeErrorRecovery" class="label label-default">Automatic Error Recovery</span></h4>
</div>
<div class="control-container col-md-6">
<div class="control-card panel panel-default">
<div class="panel-heading">
Robotiq
<i class="fas fa-info-circle"></i>
</div>
<button id="left_fixFrankaButton" type="button" onclick="triggerService('/left/aescape/hardware/resetFrankaError')" class="btn btn-primary">
Fix Franka Errors
</button>
</div>
</div>
<div class="control-card panel panel-default col-md-6">
<div class="panel-heading">
Robotiq
</div>
<div class="panel-body text-center">
<div class="row-md-3">
<div class="panel-body text-center">
<div class="progress" id="robotiqForce">
<div class="progress-bar bg-success" role="progressbar" id="robotiqForceBar" aria-valuenow="25" aria-valuemin="0" aria-valuemax="200">N/A</div>
</div>
</div>
<div class="row">
<div class="col-md-4">
Current Robotiq Values:
<div class="row-md-3">
<div class="button-area">
Current Robotiq Values:
<h4>X: <span id="robotiqX" class="label label-default">0.0</span></h4>
</div>
<div class="row-md-3">
<h4>Y: <span id="robotiqY" class="label label-default">0.0</span></h4>
</div>
<div class="row-md-3">
<h4>Z: <span id="robotiqZ" class="label label-default">0.0</span></h4>
</div>
</div>
<div class="col-md-4">
</div>
<div class="action-area panel-footer">
<div class="button">
<button id="calibrateButton" type="button" onclick="triggerService('/left/aescape/hardware/calibrateRobotiq')" class="btn btn-primary">
Calibrate Robotiq
</button>
</div>
</div>
</div>
</div>
</div>
<div class="control-card panel panel-default col-md-6">
<div class="panel-heading">
Teaching Mode Operations
</div>
<div class="panel-body text-center">
<span class="row">
<label id="RecordingStatusLabel" class="label-warning">
Bag manager not connected!
</label>
</span>
<button type="button" onclick="triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-default">
Activate Ready Mode
</button>
<button id="recordingStartButton" type="button" onclick="triggerService('/left/aescape/hardware/calibrateRobotiq'); triggerService('/left/aescape/mode/activateTeachingController'); triggerService('/aescape/bags/startTeachRecording')" class="btn btn-primary">
Start Teach Recording
</button>
<button id="recordingStopButton" type="button" onclick="triggerService('/aescape/bags/stopTeachRecording'); triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-primary">
Stop Teach Recording
</button>
</div>
</div>
<div class="control-card panel panel-default col-md-6">
<div class="panel-heading">
Execution Mode Operations
</div>
<div class="panel-body text-center">
<span class="row">
<label id="ExecutionStatusLabel" class="label-warning">
Bag manager not connected!
</label>
</span>
Last Bag Playing:
<span id="lastbagText">
None
</span>
<div class="row-md-4">
<button type="button" onclick="triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-default">
<div class="control-container col-md-6">
<div class="control-card panel panel-default">
<div class="panel-heading">
Teaching Mode Operations
<i class="fas fa-info-circle"></i>
</div>
<div class="panel-body text-center">
<div class="button-area">
<button type="button" onclick="triggerService('/left/aescape/mode/activateReadyController')" class="btn col-md-4">
Activate Ready Mode
</button>
<button id="executionLoadButton" type="button" onclick="triggerService('/aescape/bags/startPlayingLastRecording')" class="btn btn-primary">
Load Last Recording
<button id="recordingStartButton" type="button" onclick="triggerService('/left/aescape/hardware/calibrateRobotiq'); triggerService('/left/aescape/mode/activateTeachingController'); triggerService('/aescape/bags/startTeachRecording')" class="btn btn-primary col-md-4">
Start Teach Recording
</button>
<button id="executionStartButton" type="button" onclick="triggerService('/left/aescape/mode/activateExecutionController'); triggerTopic('/left/run_trajectory')" class="btn btn-primary">
<button id="recordingStopButton" type="button" onclick="triggerService('/aescape/bags/stopTeachRecording'); triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-primary col-md-4">
Stop Teach Recording
</button>
</div>
</div>
<div class="action-area panel-footer">
<div id="RecordingStatusLabel" class="message">
<!--Bag manager not connected! -->
</div>
</div>
</div>
</div>
<div class="control-container col-md-6">
<div class="control-card panel panel-default">
<div class="panel-heading">
Execution Mode Operations
<i class="fas fa-info-circle"></i>
</div>
<div class="panel-body text-center">
<div class="button-area">
<button type="button" onclick="triggerService('/left/aescape/mode/activateReadyController')" class="btn col-md-4">
Activate Ready Mode
</button>
<!--<button id="executionLoadButton" type="button" onclick="triggerService('/aescape/bags/startPlayingLastRecording')" class="btn btn-primary">
Load Last Recording
</button>-->
<button id="executionStartButton" type="button" onclick="triggerService('/left/aescape/mode/activateExecutionController'); triggerTopic('/left/run_trajectory')" class="btn btn-primary col-md-4">
Play Last Recording
</button>
<button id="executionStopButton" type="button" onclick="triggerService('/aescape/bags/stopPlayingBag'); triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-primary">
<button id="executionStopButton" type="button" onclick="triggerService('/aescape/bags/stopPlayingBag'); triggerService('/left/aescape/mode/activateReadyController')" class="btn btn-primary col-md-4">
Stop Playing Recording
</button>
<div class="row-md-4">
Bagfile name must not start with "/"
<div class="input-group">
<input type="text" id="bagNameText" class="form-control" placeholder="bag_filename">
<span class="input-group-btn">
<button class="btn btn-primary" type="button" onclick="triggerMessageService('/aescape/bags/startPlayingRecording', 'bagNameText')">
<span>
Start Playing Bag
</span>
</button>
</span>
</div>
</div>
<div class="row-md-4">
Bagfile name must not start with "/"
<div class="input-group">
<input type="text" id="bagNameText" class="form-control" placeholder="bag_filename">
<span class="input-group-btn">
<button class="btn btn-primary" type="button" onclick="triggerMessageService('/aescape/bags/startPlayingRecording', 'bagNameText')">
<span>
Start Playing Bag
</span>
</button>
</span>
</div>
</div>
<!-- <div class="row-md-4">
@@ -256,10 +253,9 @@
<button class="btn btn-primary" type="button" onclick="updateRecordingsList()">
Refresh List
</button>
</div> -->
</div> -->
<div class="row-md-3 pt-4">
<div style="height:300px;width:300px;overflow:auto">
<div>
<div class="list-group" id="bagList">
<button type="button" class="list-group-item list-group-item-action">Dapibus ac facilisis in</button>
<button type="button" class="list-group-item list-group-item-action">Morbi leo risus</button>
@@ -276,7 +272,13 @@
</div>
</div>
</div>
</div>
<div class="action-area panel-footer">
<div class="message" id="ExecutionStatusLabel">
<!--Bag manager not connected! -->
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@@ -288,11 +290,93 @@
<i class="far fa-2x fa-hand-point-right"></i>
</div>
<div class="panel-body">
<div class="status-bar">
<div class="status-container">
<div class="safety-monitor panel panel-default panel-horizontal">
<div class="panel-heading">
Safety Monitor
</div>
<div class="panel-body text-center">
<div class="status-list">
<ul class="list-group list-group-horizontal">
<li id="right_safetyRunning" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Running</label>
</div>
</li>
<li id="right_safetyStopped" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Stopped</label>
</div>
</li>
</ul>
</div>
</div>
<div class="action-button panel-footer">
<button type="button" onclick="triggerService('/left/aescape/mode/activateSafetyController')" class="btn btn-sm">
Activate
</button>
</div>
</div>
</div>
<div class="status-container">
<div class="franka panel panel-default panel-horizontal">
<div class="panel-heading">
Franka Arm
</div>
<div class="panel-body text-center">
<div class="status-list">
<ul class="list-group list-group-horizontal">
<li id="right_frankaModeIdle" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Idle</label>
</div>
</li>
<li id="right_frankaModeMove" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Move</label>
</div>
</li>
<li id="right_frankaModeGuiding" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Guiding</label>
</div>
</li>
<li id="right_frankaModeReflex" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Reflex</label>
</div>
</li>
<li id="right_frankaModeUserStopped" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>User Stopped</label>
</div>
</li>
<li id="right_frankaModeErrorRecovery" class="list-group-item">
<div class="radio disabled">
<label><input type="radio" disabled>Automatic Error Recovery</label>
</div>
</li>
</ul>
</div>
</div>
<div class="action-button panel-footer">
<button id="left_fixFrankaButton" type="button" onclick="triggerService('/left/aescape/hardware/resetFrankaError')" class="btn btn-sm">
Fix Errors
</button>
</div>
</div>
</div>
</div>
<div class="control-container col-md-6">
<div class="control-card panel panel-default">
<div class="panel-heading">
EEF Configuration
<i class="far fa-hand-point-left pull-right"></i>
<i class="fas fa-info-circle"></i>
</div>
<div class="panel-body text-center">
<div class="button-area">
@@ -306,7 +390,7 @@
</div>
<div class="action-area panel-footer">
<div class="message">
You must be in "Stopped Mode" to change the EEF configuration!
<!--You must be in "Stopped Mode" to change the EEF configuration! -->
</div>
</div>
</div>
@@ -315,22 +399,23 @@
<div class="control-card-six control-card panel panel-default">
<div class="panel-heading">
Select Operation Mode
<i class="fas fa-info-circle"></i>
</div>
<div class="panel-body text-center">
<div class="button-area">
<button id="left_teachingModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateTeachingController')" class="btn btn-primary col-lg-4">
<button id="left_teachingModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateTeachingController')" class="btn btn-primary col-md-4">
Teaching Mode
</button>
<button id="left_executionModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateExecutionController')" class="btn btn-primary col-lg-4">
<button id="left_executionModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateExecutionController')" class="btn btn-primary col-md-4">
Massage Mode
</button>
<button id="left_readyModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateReadyController')" class="btn btn-primary col-lg-4">
<button id="left_readyModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateReadyController')" class="btn btn-primary col-md-4">
Ready Mode
</button>
<button id="left_standbyModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateStandbyController')" class="btn btn-primary col-lg-4">
<button id="left_standbyModeButton" type="button" onclick="triggerService('/right/aescape/mode/activateStandbyController')" class="btn btn-primary col-md-4">
Standby Mode
</button>
<button id="left_stoppedModeButton" type="button" onclick="triggerService('/right/aescape/mode/stopControllers')" class="btn btn-primary col-lg-4">
<button id="left_stoppedModeButton" type="button" onclick="triggerService('/right/aescape/mode/stopControllers')" class="btn btn-primary col-md-4">
Stopped Mode
</button>
</div>
@@ -341,65 +426,7 @@
</div>
</div>
</div>
</div>
<div class="control-container col-md-6">
<div class="control-card panel panel-default">
<div class="panel-heading">
Safety Monitor Status
</div>
<div class="panel-body text-center">
<div class="button-area">
<button type="button" onclick="triggerService('/right/aescape/hardware/setTrainingEEF')" class="btn btn-primary col-md-6">
Recording EEF
</button>
<button type="button" onclick="triggerService('/right/aescape/hardware/setExecutionEEF')" class="btn btn-primary col-md-6">
Massage EEF
</button>
</div>
</div>
<div class="action-area panel-footer">
<div class="action-button">
<button type="button" onclick="triggerService('/right/aescape/mode/activateSafetyController')" class="btn btn-sm btn-default">
Activate Safety Monitor
</button>
</div>
</div>
</div>
</div>
<div class="control-card panel panel-default col-md-6">
<div class="panel-heading">
Franka Arm Status
</div>
<div class="panel-body text-center">
<div class="col-md-4">
Current Robot Status:
<div class="row-md-3">
<h4><span id="right_frankaModeOther" class="label label-default">Other</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeIdle" class="label label-default">Idle</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeMove" class="label label-default">Move</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeGuiding" class="label label-default">Guiding</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeReflex" class="label label-default">Reflex</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeUserStopped" class="label label-default">User Stopped</span></h4>
</div>
<div class="row-md-3">
<h4><span id="right_frankaModeErrorRecovery" class="label label-default">Automatic Error Recovery</span></h4>
</div>
</div>
<button id="right_fixFrankaButton" type="button" onclick="triggerService('/right/aescape/hardware/resetFrankaError')" class="btn btn-primary">
Fix Franka Errors
</button>
</div>
</div>
</div>
<!-- <div class="panel panel-default">
<div class="panel-heading">
Robotiq

View File

@@ -175,11 +175,31 @@ html, body {
background: #182048;
}
.status-container .action-button {
height: 30px;
}
.status-container .action-button > button {
height: 100%;
border-radius: 0;
color: #EDF0F4;
font-size : 14pt;
background: #182048;
width: 100%;
border-radius: 0 30px 30px 0;
}
.control-card-six .button-area > button {
height: 50%;
font-size: 12pt;
}
.control-card .panel-heading i {
position: absolute;
right: 25px;
font-size: 17px;
}
.nav-pills li a {
border-radius: 0;
color: #EDF0F4;
@@ -213,6 +233,62 @@ html, body {
font-size : 12pt;
}
.status-container .status-list .list-group-horizontal{
display: flex;
flex-wrap: wrap;
}
.status-list .list-group {
margin-bottom: 0px;
}
.status-list .list-group-item {
border: none;
background: none;
padding: 0px;
margin: 0 5px 0 5px;
}
.panel.panel-horizontal {
display:table;
width:100%;
}
.panel.panel-horizontal > .panel-heading, .panel.panel-horizontal > .panel-body, .panel.panel-horizontal > .panel-footer {
display:table-cell;
}
.panel.panel-horizontal > .panel-heading, .panel.panel-horizontal > .panel-footer {
border:0;
vertical-align: middle;
}
.panel.panel-horizontal > .panel-heading {
border-right: 1px solid #ddd;
border-radius: 30px 0 0 30px;
font-size: 12pt;
width: 20%;
padding: 5px 10px;
}
.panel.panel-horizontal > .panel-footer {
border-left: 1px solid #ddd;
border-radius: 0 30px 30px 0;
width: 20%;
padding: 0px;
border-color: #3573FB;
}
.panel.panel-horizontal > .panel-body {
height: auto;
padding: 0px;
font-size: 12pt;
padding: 5px 10px;
}
.btn {
white-space: normal;
word-wrap: break-word;
}