blob: 7db44bc152c7f86d8c423dce87047c3b0c27c185 [file] [log] [blame] [edit]
<!doctype html>
<!--
Copyright 2022 The ChromiumOS Authors
Use of this source code is governed by a BSD-style license that can be
found in the LICENSE file.
-->
<html>
<head>
<style type="text/css">
.plot-list {
border: 3px solid red;
display: flex;
flex-direction: column;
resize: vertical;
min-height: 300px;
}
.plot-row {
border: 1px solid black;
border-bottom: 3px solid black;
min-height: 50px;
height: 300px;
overflow-x: hidden;
overflow-y: auto;
display: inline-flex;
resize: vertical;
width: 100%;
font-size: 14px;
margin: 0px;
padding: 0px;
}
.control-menu {
background-color: #ddd;
display: inline-flex;
flex-direction: column;
overflow-x: hidden;
overflow-y: auto;
}
.control-menu-hidden {
display: none;
}
.control-collapse {
width: max(1%, 10px);
background-color: #aaa;
display: inline-flex;
}
.menu-row {
background-color: #bbb;
display: inline-flex;
padding: 3px;
margin: 1px;
}
.data-selector-table {
display: inline-flex;
}
.plot-area {
background-color: #eee;
border: none;
display: inline-flex;
flex-basis : 0;
flex-direction: column;
flex-grow : 1;
flex-shrink : 1;
margin: 0px;
padding: 0px;
}
.bottom {
min-height: 250px;
}
</style>
</head>
<body>
<template id="template-selector-entry">
<div class="data-selector-entry"></div>
</template>
<template id="template-selector-column">
<div class="data-selector-column">
<div class="data-selector-header"></div>
</div>
</template>
<template id="template-plot-row">
<div class='plot-row'>
<div title='Show and hide the control menu' class='control-collapse'></div>
<div class='control-menu'>
<div class='menu-row'>
<button title='Copy this plot row', type='button' class='copy-button'>
Copy Plot</button>
</div>
<div title='Select which datasets to plot' class='data-selector-table'></div>
</div>
<div class='plot-area'></div>
</div>
</template>
<div class="root">
<div class="top-menu">
<input type="button" value="Load JSON"
onclick="parallax.controlLoadJson();">
<input type="button" value="Save JSON"
onclick="parallax.controlSaveJson();">
<input type="button" value="Save HTML"
onclick="parallax.controlSaveHtmlData();">
<input type="button" value="Screenshot"
onclick="parallax.controlTakeScreenshot(true);"
oncontextmenu="parallax.controlTakeScreenshot(false); return false;">
<input type="text" id="server-ip" value="http://localhost:9000">
<input type="button" value="Toggle Stream"
onclick="parallax.controlStream();">
</div>
<hr class="solid"></hr>
<div class="results-list"></div>
<hr class="solid"></hr>
<div class="plot-list"></div>
<div class="bottom"></div>
</div>
<script src="https://www.gstatic.com/charts/loader.js"></script>
<script src="https://www.gstatic.com/external_hosted/html2canvas/html2canvas.min.js"></script>
<% if(htmlWebpackPlugin.options.templateParameters.includes("test")){ %>
<!-- Browser based unit tests. -->
<link rel="stylesheet" href="../node_modules/jasmine-core/lib/jasmine-core/jasmine.css"></link>
<script src="../node_modules/jasmine-core/lib/jasmine-core/jasmine.js"></script>
<script src="../node_modules/jasmine-core/lib/jasmine-core/jasmine-html.js"></script>
<script src="../node_modules/jasmine-core/lib/jasmine-core/boot0.js"></script>
<script src="../node_modules/jasmine-core/lib/jasmine-core/boot1.js"></script>
<% } %>
<script type="text/javascript">
/* Compiled code insertion point. */
<%= compilation.assets["main.js"].source() %>
/* {BEGIN_PARALLAX_DATA_INJECTION} */
/* {END_PARALLAX_DATA_INJECTION} */
if (typeof PARALLAX_DATA !== 'undefined') {
parallax.parseMessages(PARALLAX_DATA);
}
</script>
<% if(htmlWebpackPlugin.options.templateParameters.includes("embedded")){ %>
<!-- External file provides embedded data. -->
<script src="../frontend/embedded.js"></script>
<% } %>
</body>
</html>