generic-poky/bitbake/lib/toaster/toastergui/templates/base.html

129 lines
4.9 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
{% load static %}
{% load projecttags %}
{% load project_url_tag %}
<html lang="en">
<head>
<title>
{% block title %} Toaster {% endblock %}
</title>
<link rel="stylesheet" href="{% static 'css/bootstrap.min.css' %}" type="text/css"/>
<link rel="stylesheet" href="{% static 'css/bootstrap-responsive.min.css' %}" type='text/css'/>
<link rel="stylesheet" href="{% static 'css/font-awesome.min.css' %}" type='text/css'/>
<link rel="stylesheet" href="{% static 'css/prettify.css' %}" type='text/css'/>
<link rel="stylesheet" href="{% static 'css/default.css' %}" type='text/css'/>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />
<script src="{% static 'js/jquery-2.0.3.min.js' %}">
</script>
<script src="{% static 'js/jquery.cookie.js' %}">
</script>
<script src="{% static 'js/bootstrap.min.js' %}">
</script>
bitbake: toaster: work-around our lack of a synchronous fetch for typeaheads The Twitter typeahead.js library expects the developer to use a source which does a local search for matching suggestions, then falls back to a remote search if that doesn't return enough results. However, in Toaster, we don't do any caching of the suggestions for a typeahead, so our source only works in asynchronous mode. Consequently, we see fewer than the expected number of suggestions if the typeahead has already shown suggestions matching a query. For example, searching for "meta-n" in the layers typeahead will show the results for this query; but when the query changes to "meta-ne", a new set of results is fetched, which mostly overlaps with the results for "meta-n". The typeahead assumes that the overlapping items are locally cached and have been delivered synchronously, and just appends the new results which don't overlap with the previous query. But because we don't provide any results synchronously, we just end up with the single non-overlapping result in the drop-down. This can be fixed by hacking typeahead.js so that instead of appending asynchronous results, we always overwrite and redraw the whole typeahead menu. This is a temporary fix, and should be properly fixed (when we have time), perhaps by using typeahead.js's associated Bloodhound library. Added a note about the hack to the license file as an explanation of why the unminified JS file is included in Toaster. (Bitbake rev: afbaf326e1123c92952fa71e0e820a4ff83488ca) Signed-off-by: Elliot Smith <elliot.smith@intel.com> Signed-off-by: Michael Wood <michael.g.wood@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-18 15:59:05 +00:00
<script src="{% static 'js/typeahead.jquery.js' %}">
</script>
<script src="{% static 'js/prettify.js' %}">
</script>
<script src="{% static 'js/libtoaster.js' %}">
</script>
{% if DEBUG %}
<script>
libtoaster.debug = true;
</script>
{% endif %}
<script>
libtoaster.ctx = {
jsUrl : "{% static 'js/' %}",
htmlUrl : "{% static 'html/' %}",
projectsUrl : "{% url 'all-projects' %}",
projectsTypeAheadUrl: {% url 'xhr_projectstypeahead' as prjurl%}{{prjurl|json}},
{% if project.id %}
projectId : {{project.id}},
projectPageUrl : {% url 'project' project.id as purl %}{{purl|json}},
projectName : {{project.name|json}},
recipesTypeAheadUrl: {% url 'xhr_recipestypeahead' project.id as paturl%}{{paturl|json}},
layersTypeAheadUrl: {% url 'xhr_layerstypeahead' project.id as paturl%}{{paturl|json}},
machinesTypeAheadUrl: {% url 'xhr_machinestypeahead' project.id as paturl%}{{paturl|json}},
projectBuildsUrl: {% url 'projectbuilds' project.id as pburl %}{{pburl|json}},
xhrCustomRecipeUrl : "{% url 'xhr_customrecipe' %}",
projectId : {{project.id}},
xhrBuildRequestUrl: "{% url 'xhr_buildrequest' project.id %}",
{% else %}
projectId : undefined,
projectPageUrl : undefined,
projectName : undefined,
{% endif %}
};
</script>
{% block extraheadcontent %}
{% endblock %}
</head>
<body style="height: 100%">
{% csrf_token %}
<div id="loading-notification" class="alert lead text-center" style="display:none">
Loading <i class="fa-pulse icon-spinner"></i>
</div>
<div id="change-notification" class="alert lead alert-info" style="display:none">
<button type="button" class="close" id="hide-alert">&times;</button>
<span id="change-notification-msg"></span>
</div>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container-fluid">
<a class="brand logo" href="#"><img src="{% static 'img/logo.png' %}" class="" alt="Yocto logo project"/></a>
<span class="brand">
<a href="/">Toaster</a>
{% if DEBUG %}
<i class="icon-info-sign" title="<strong>Toaster version information</strong>" data-content="<dl><dt>Git branch</dt><dd>{{TOASTER_BRANCH}}</dd><dt>Git revision</dt><dd>{{TOASTER_REVISION}}</dd></dl>"></i>
{% endif %}
</span>
{% if request.resolver_match.url_name != 'landing' and request.resolver_match.url_name != 'newproject' %}
<ul class="nav">
<li {% if request.resolver_match.url_name == 'all-builds' %}
class="active"
{% endif %}>
<a href="{% url 'all-builds' %}">
<i class="icon-tasks"></i>
All builds
</a>
</li>
<li {% if request.resolver_match.url_name == 'all-projects' %}
class="active"
{% endif %}>
<a href="{% url 'all-projects' %}">
<i class="icon-folder-open"></i>
All projects
</a>
</li>
</ul>
{% endif %}
<ul class="nav pull-right">
<li>
<a target="_blank" href="http://www.yoctoproject.org/docs/latest/toaster-manual/toaster-manual.html">
<i class="icon-book"></i>
Manual
</a>
</li>
</ul>
<span class="pull-right divider-vertical"></span>
<div class="btn-group pull-right">
<a class="btn" id="new-project-button" href="{% url 'newproject' %}">New project</a>
</div>
</div>
</div>
</div>
<div class="container-fluid top-padded">
<div class="row-fluid">
{% block pagecontent %}
{% endblock %}
</div>
</div>
</body>
</html>