5 Copyright (c) 2017 Rajesh Kudaka <4k.rajesh@gmail.com>
6 Copyright (c) 2018 Intel Corporation.
8 All rights reserved. This program and the accompanying materials
9 are made available under the terms of the Apache License, Version 2.0
10 which accompanies this distribution, and is available at
11 http://www.apache.org/licenses/LICENSE-2.0
15 <meta charset="utf-8">
16 <meta name="viewport" content="width=device-width, initial-scale=1">
17 <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
18 <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.7/themes/default/style.min.css">
19 <link rel="stylesheet" href="{{template_dir}}/nsb_report.css">
20 <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
21 <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
22 <script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.3.7/jstree.min.js"></script>
23 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.bundle.min.js"></script>
27 <div class="container" style="width:80%">
29 <header class="jumbotron">
30 <h1>Yardstick User Interface</h1>
31 <h4>Report of {{task_id}} Generated</h4>
35 <div class="col-md-2 control-pane">
36 <div id="data_selector"></div>
38 <div class="col-md-10 data-pane">
39 <canvas id="cnvGraph" style="width: 100%; height: 500px"></canvas>
43 <div class="col-md-12 table-responsive">
44 <table class="table table-hover"></table>
51 var arr, tab, tr, td, tbody, keys, key, curr_data, val;
54 tab = document.getElementsByTagName('table')[0];
55 tbody = document.createElement('tbody');
56 keys = Object.keys(arr);
58 for (var i = 0; i < keys.length; i++) {
59 tr = document.createElement('tr');
60 td = document.createElement('td');
65 // add each piece of data as its own column
66 for (var j = 0; j < curr_data.length; j++) {
68 td = document.createElement('td');
69 td.append(val === None ? '' : val);
74 tab.appendChild(tbody);
77 $('#data_selector').jstree({
78 plugins: ['checkbox'],
89 data: {{jstree_nodes|safe}},
93 var objGraph = new Chart($('#cnvGraph'), {
96 labels: {{Timestamps|safe}},
122 animationDuration: 0,
134 responsiveAnimationDuration: 0,
135 maintainAspectRatio: false,
139 $('#data_selector').on('check_node.jstree uncheck_node.jstree', function(e, data) {
140 var selected_datasets = [];
141 for (var i = 0; i < data.selected.length; i++) {
142 var node = data.instance.get_node(data.selected[i]);
143 if (node.children.length == 0) {
148 selected_datasets.push(dataset);
154 '#228B22', // ForestGreen
155 '#FF8C00', // DarkOrange
156 '#00008B', // DarkBlue
157 '#FF00FF', // Fuchsia
158 '#9ACD32', // YellowGreen
160 '#4169E1', // RoyalBlue
162 '#20B2AA', // LightSeaGreen
163 '#8A2BE2', // BlueViolet
169 {s: 'triangle', r: 4},
171 {s: 'rectRot', r: 5},
174 selected_datasets.forEach(function(d, i) {
175 var color = colors[i % colors.length];
176 var point = points[i % points.length];
177 d.borderColor = color;
178 d.backgroundColor = color;
179 d.pointStyle = point.s;
180 d.pointRadius = point.r;
181 d.pointHoverRadius = point.r + 1;
183 objGraph.data.datasets = selected_datasets;