Workspace / Serial Port v1.7
This is a workspace for a generic Serial Port console for ChiliPeppr's Hardware Fiddle.
HTML
<script src="http://www.chilipeppr.com/js/require.js"></script>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css">
<!-- This is the workspace layout for the Serial Port Workspace -->
<div id="com-chilipeppr-ws-serialport">
<div class="container-fluid">
<div class="row">
<div class="col-xs-8 widget padrt">
<!-- Workspace Hdr -->
<div id="com-chilipeppr-ws-serialport-hdr" class="well">Workspace - Serial Port
<div id="com-chilipeppr-ws-serialport-menu" class="pull-right">
<div class="btn-group">
<div class="dropdown">
<button type="button" class="btn btn-xs btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></button>
<ul class="dropdown-menu dropdown-menu-right" role="menu">
<li id="com-chilipeppr-ws-serialport-menu-billboard" style="width:350px;"></li>
</ul>
</div>
</div>
</div>
</div>
<!-- Serial In/Out Text Log-->
<div id="com-chilipeppr-serialport-log" class="zhigh">Load Serial Port Log Here</div>
</div>
<div class="col-xs-4 nopadding">
<!-- Serial Port Selector -->
<div id="com-chilipeppr-serialport-spselector" class="">Load Serial Port Selector Here</div>
</div>
</div>
</div>
</div>
CSS
#com-chilipeppr-ws-serialport-hdr {
margin-bottom:10px;
padding: 10px 15px;
}
.row .widget {
margin:0;
padding:0;
}
.panel {
margin-bottom:10px;
}
.row .padrt {
padding-right:10px;
}
.nopadding {
padding:0;
}
.nomargin {
margin:0;
}
.noheight {
height:0;
}
JavaScript
// Makes sure we only run once jquery is loaded as well
// as ensuring we don't load javascript libraries multiple times
cprequire(["chilipeppr_ready"], function () {
// Define standard ChiliPeppr objects
var ws = {
id: "com-chilipeppr-ws-serialport",
url: 'http://jsfiddle.net/chilipeppr/w9YQV/show/light',
fiddleurl: 'http://jsfiddle.net/chilipeppr/w9YQV/',
name: "Workspace / Serial Port",
desc: "This is a workspace for a generic Serial Port console for ChiliPeppr's Hardware Fiddle.",
foreignSubscribe: {
},
foreignPublish: {
}
}
// Load top bar elements
// Workspace Menu with Workspace Billboard
// http://jsfiddle.net/jlauer/yC8Hv/
chilipeppr.load(
"#com-chilipeppr-ws-serialport-menu-billboard",
"http://fiddle.jshell.net/chilipeppr/astYW/show/light/");
chilipeppr.load(
"http://fiddle.jshell.net/chilipeppr/zMbL9/show/light/",
function () {
require(['inline:com-chilipeppr-elem-pubsubviewer'], function (pubsubviewer) {
pubsubviewer.attachTo(
$('#com-chilipeppr-ws-serialport-menu .dropdown-menu'),
ws,
"Workspace"
);
});
});
// Serial Port Log Window
// http://jsfiddle.net/chilipeppr/JB2X7/
// NEW VERSION http://jsfiddle.net/chilipeppr/rczajbx0/
chilipeppr.load("#com-chilipeppr-serialport-log",
"http://fiddle.jshell.net/chilipeppr/rczajbx0/show/light/",
function () {
cprequire(
["inline:com-chilipeppr-widget-spconsole"],
function (spc) {
spc.init(true);
// resize this console on a browser resize
$(window).on('resize', function (evt) {
//console.log("serial-port-console. resize evt:", evt);
if ($.isWindow(evt.target)) {
...