
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
143 lines
7.2 KiB
HTML
143 lines
7.2 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% block head %}
|
|
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
|
|
|
|
<title>Stackalytics {% if page_title %}| {{ page_title }} {% endif %}</title>
|
|
|
|
{% if not page_title %}
|
|
<meta name="description" content="OpenStack contribution dashboard collects and processes development activity data such as commits, lines of code changed, and code reviews"/>
|
|
{% else %}
|
|
<meta name="description" content="Full commits and review statistics of {{ page_title }}"/>
|
|
{% endif %}
|
|
<meta name="keywords" content="openstack, contribution, community, review, commit, {{ company }}"/>
|
|
<meta name="version" content="{{ stackalytics_version }}"/>
|
|
<meta name="build" content="{{ stackalytics_release }}"/>
|
|
|
|
<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 type=text/css href="{{ url_for('static', filename='css/moonfonts.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/md5.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/jquery.gravatar.js') }}"></script>
|
|
<script type="text/javascript" src="{{ url_for('static', filename='js/stackalytics-ui.js') }}"></script>
|
|
|
|
<script type="text/javascript">
|
|
|
|
$(document).ready(function () {
|
|
initSelectors("");
|
|
});
|
|
$(function () {
|
|
$(document).tooltip();
|
|
});
|
|
|
|
</script>
|
|
|
|
{% block scripts %}{% endblock %}
|
|
|
|
{% endblock %}
|
|
|
|
{% block body %}
|
|
|
|
<div class="page">
|
|
<div class="aheader">
|
|
<div style="float: right; margin-top: 10px; margin-right: 20px;">
|
|
<a href="https://wiki.openstack.org/wiki/Stackalytics">About</a>
|
|
</div>
|
|
<div id="analytics_header">
|
|
<div style="float: left;">
|
|
<span id="logo"><a href="{{ url_for('overview') }}">Stackalytics</a></span>
|
|
</div>
|
|
<div class="stackamenu">
|
|
<ul id="menu-stackamenu">
|
|
<li class="menu-item current-menu-item"><a href="/"><span class="icon-pie"></span>Code Contribution</a></li>
|
|
{# <li class="menu-item"><a href="/report/members"><span class="icon-users"></span>Member Directory</a></li>#}
|
|
<li class="menu-item"><a href="/report/driverlog"><span class="icon-cogs"></span>Vendor Drivers</a></li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="drops">
|
|
|
|
<div class="drop">
|
|
<label for="release_selector" title="Official releases of OpenStack">Release</label>
|
|
<input type="hidden" id="release_selector" style="width: 140px" data-placeholder="Select release"/>
|
|
</div>
|
|
|
|
<div class="drop">
|
|
<label for="project_type_selector" title="Project type groups modules of same kind: official (integrated, incubated, other) or belonging to same organization (stackforge, infra)">Project Type</label>
|
|
<input type="hidden" id="project_type_selector" style="width: 140px" data-placeholder="Select project type"/>
|
|
</div>
|
|
|
|
<div class="drop">
|
|
<label for="module_selector" title="Module represents a repo (black), official program (violet) or pre-configured group of modules (cyan)">Module</label>
|
|
<input type="hidden" id="module_selector" style="width: 140px" data-placeholder="Any module"/>
|
|
</div>
|
|
|
|
<div class="drop">
|
|
<label for="company_selector" title="Company name">Company</label>
|
|
<input type="hidden" id="company_selector" style="width: 140px" data-placeholder="Any company"/>
|
|
</div>
|
|
|
|
<div class="drop">
|
|
<label for="user_id_selector" title="Name of engineer as configured in Launchpad or default_data.json">Engineer</label>
|
|
<input type="hidden" id="user_id_selector" style="width: 140px" data-placeholder="Any engineer"/>
|
|
</div>
|
|
|
|
<div class="drop">
|
|
<label for="metric_selector" title="One of available metrics">Metric</label>
|
|
<input type="hidden" id="metric_selector" style="width: 140px" data-placeholder="Select metric"/>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="navigation">
|
|
<div id="timeline" style="width: 100%; height: 120px; margin-top: 15px;"></div>
|
|
</div>
|
|
|
|
<div>
|
|
{% block report_options %}{% endblock %}
|
|
</div>
|
|
|
|
<table style="width: 100%" cellspacing="0">
|
|
<tr>
|
|
<td style="width: 50%; vertical-align: top;">
|
|
<div class="body" style="margin-right: 1em;">
|
|
{% block left_frame %}{% endblock %}
|
|
</div>
|
|
</td>
|
|
<td style="width: 50%; vertical-align: top;">
|
|
<div class="body" style="margin-left: 1em;">
|
|
{% block right_frame %}{% endblock %}
|
|
</div>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
</div>
|
|
{% endblock %}
|