
1. Drop-down contents are pre-loaded during page load, search is made local 2. Search support is moved out of API 3. Removed API methods: * /releases/<release> * /project_types/<project_type> * /metrics/<metric> 4. Response of API methods used in drop-downs is unified. All of them return content under "data" key, default value under "default" 5. Rename JS functions from c_style to camelCase 6. Adapt DriverLog report to new drop-downs behavior Part of blueprint ui-performance Change-Id: I7bd9e9d1176d8419aa1e4bc1ccbb7ab4afdf7583
137 lines
5.7 KiB
HTML
137 lines
5.7 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
|
|
|
<title>Stackalytics Widget</title>
|
|
|
|
<meta name="description" content="OpenStack contribution dashboard collects and processes development activity data such as commits, lines of code changed, and code reviews"/>
|
|
<meta name="keywords" content="openstack, contribution, community, review, commit, {{ company }}"/>
|
|
|
|
<link href='http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic&subset=latin,cyrillic' rel='stylesheet' type='text/css' />
|
|
<link href='http://fonts.googleapis.com/css?family=PT+Sans+Caption&subset=latin,cyrillic' rel='stylesheet' type='text/css' />
|
|
<link href='http://fonts.googleapis.com/css?family=PT+Sans+Narrow:400,700&subset=latin,cyrillic' rel='stylesheet' type='text/css' />
|
|
|
|
<link rel="icon" href="{{ url_for('static', filename='images/favicon.png') }}" type="image/png"/>
|
|
|
|
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/jquery.jqplot.min.css') }}">
|
|
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/jquery.dataTables.css') }}">
|
|
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/select2.css') }}">
|
|
<link rel=stylesheet type=text/css href="{{ url_for('static', filename='css/style.css') }}">
|
|
|
|
<link rel="stylesheet" href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" />
|
|
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/jquery-1.9.1.min.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/jquery-ui.min.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/jquery.dataTables.min.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/jquery.jqplot.min.js') }}"></script>
|
|
<!--[if lt IE 9]><script type="text/javascript" src="{{ url_for('static', filename='js/excanvas.min.js') }}"></script><![endif]-->
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.json2.min.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.pieRenderer.min.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.dateAxisRenderer.min.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.canvasTextRenderer.min.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.canvasAxisTickRenderer.min.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.cursor.min.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/jqplot.highlighter.min.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/select2.min.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/jquery.tmpl.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/stackalytics-ui.js') }}"></script>
|
|
|
|
<script type="text/javascript">
|
|
|
|
var base_url = "http://stackalytics.com";
|
|
|
|
$(document).ready(function () {
|
|
initSelectors(base_url);
|
|
renderTableAndChart(base_url + "/api/1.0/stats/companies", null, null, "company_chart", null);
|
|
});
|
|
|
|
$(function () {
|
|
$("#tabs").tabs({
|
|
activate: function( event, ui ) {
|
|
if (ui.newTab.index() == 0) {
|
|
renderTableAndChart(base_url + "/api/1.0/stats/companies", null, null, "company_chart", null);
|
|
} else {
|
|
renderTableAndChart(base_url + "/api/1.0/stats/modules", null, null, "module_chart", null);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
|
|
$(function () {
|
|
$("#more")
|
|
.button()
|
|
.click(function (event) {
|
|
event.preventDefault();
|
|
window.open('http://stackalytics.com/', 'stackalytics');
|
|
return false;
|
|
});
|
|
});
|
|
|
|
</script>
|
|
|
|
<style type="text/css">
|
|
html, body, p {
|
|
font-size: 12px;
|
|
}
|
|
h2 {
|
|
font-size: 20px;
|
|
}
|
|
.drop {
|
|
margin: 0;
|
|
height: auto;
|
|
}
|
|
.jqplot-target {
|
|
font-size: 10px;
|
|
}
|
|
table.jqplot-table-legend, table.jqplot-cursor-legend {
|
|
font-size: 10px;
|
|
}
|
|
.ui-tabs .ui-tabs-panel {
|
|
padding: 0;
|
|
}
|
|
|
|
</style>
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<div class="page" style="width: 320px; height: 400px; padding: 10px;">
|
|
<h2>OpenStack® Contribution Tracker</h2>
|
|
|
|
<div id="tabs" style="position: relative;">
|
|
<ul>
|
|
<li><a href="#tabs-1">By companies</a></li>
|
|
<li><a href="#tabs-2">By modules</a></li>
|
|
</ul>
|
|
<div id="tabs-1">
|
|
<div id="company_chart" style="width: 100%; height: 260px;"></div>
|
|
</div>
|
|
<div id="tabs-2">
|
|
<div id="module_chart" style="width: 100%; height: 260px;"></div>
|
|
</div>
|
|
<div style="position: absolute; left: 20px; top: 240px;"><a id="more" href="#">More</a>
|
|
</div>
|
|
</div>
|
|
|
|
<div>
|
|
<div class="drop" style="margin-right: 15px;">
|
|
<label for="release">Release</label>
|
|
<input type="hidden" id="release" style="width: 95px" data-placeholder="Select release"/>
|
|
</div>
|
|
|
|
<div class="drop" style="margin-right: 15px;">
|
|
<label for="project_type">Projects</label>
|
|
<input type="hidden" id="project_type" style="width: 95px" data-placeholder="Select project type"/>
|
|
</div>
|
|
|
|
<div class="drop">
|
|
<label for="metric">Metric</label>
|
|
<input type="hidden" id="metric" style="width: 95px" data-placeholder="Select metric"/>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|