Ilya Shakhat 85e2f99134 Client-side search in drop-down boxes
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
2014-05-28 18:31:12 +04:00

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 %}