2017-12-19 17:03:51 +01:00
{% extends "base.html" %}
{% block content %}
2018-01-29 03:39:04 +01:00
< h2 class = "text-center my-3" > {{ branch.display_name }}< / h2 >
< div id = "levelSummary" style = "height: 270px;" class = "col-sm-6 offset-sm-3 my-3" > < / div >
2017-12-19 17:03:51 +01:00
< div class = "row" >
2018-01-29 03:39:04 +01:00
< div class = "mx-auto" >
2018-05-22 00:12:53 +02:00
< div style = "text-align:center;" >
2018-05-22 02:18:14 +02:00
< label for = "level-all" > Level : < / label >
< div class = "btn-group btn-group-toggle" data-toggle = "buttons" >
< label class = "btn btn-sm btn-light active" >
< input type = "radio" name = "options" level = "all" id = "filter_level-all" autocomplete = "off" checked > All
< / label >
< label class = "btn btn-sm btn-light" >
< input type = "radio" name = "options" level = "?" autocomplete = "off" > ?
< / label >
< label class = "btn btn-sm btn-light" >
< input type = "radio" name = "options" level = "0" autocomplete = "off" > 0
< / label >
< label class = "btn btn-sm btn-light" >
< input type = "radio" name = "options" level = "1" autocomplete = "off" > 1
< / label >
< label class = "btn btn-sm btn-light" >
< input type = "radio" name = "options" level = "2" autocomplete = "off" > 2
< / label >
< label class = "btn btn-sm btn-light" >
< input type = "radio" name = "options" level = "3" autocomplete = "off" > 3
< / label >
< label class = "btn btn-sm btn-light" >
< input type = "radio" name = "options" level = "4" autocomplete = "off" > 4
< / label >
< label class = "btn btn-sm btn-light" >
< input type = "radio" name = "options" level = "5" autocomplete = "off" > 5
< / label >
< label class = "btn btn-sm btn-light" >
< input type = "radio" name = "options" level = "6" autocomplete = "off" > 6
< / label >
< label class = "btn btn-sm btn-light" >
< input type = "radio" name = "options" level = "7" autocomplete = "off" > 7
< / label >
2019-04-29 22:29:08 +02:00
< label class = "btn btn-sm btn-light" >
< input type = "radio" name = "options" level = "8" autocomplete = "off" > 8
< / label >
2018-05-22 02:18:14 +02:00
< / div >
< button id = "filter_onlyOfficials" type = "button" class = "btn btn-light btn-sm" href = "javascript:void(0)" onclick = "toggle(this)" style = "margin-left:30px;" > Show only officials< / button >
2018-05-22 00:12:53 +02:00
< / div >
2017-12-19 17:03:51 +01:00
< div >
2018-01-29 03:39:04 +01:00
< table class = "table table-responsive ci-app-table" >
2017-12-19 17:03:51 +01:00
< thead >
< tr >
2018-01-29 03:39:04 +01:00
< th class = "ci-app-row-title" > < / th >
2017-12-19 17:03:51 +01:00
< th class = "ci-app-test-title" > < div > Level< / div > < / th >
{% for test in tests %}
< th class = "ci-app-test-title" > < div > < span > {{ test }}< / span > < / div > < / th >
{% endfor %}
< th class = "ci-app-test-title" > < / th >
2018-01-30 19:37:27 +01:00
< th > < / th >
2017-12-19 17:03:51 +01:00
< / tr >
< / thead >
< tbody >
{% for result in app_results %}
2018-05-22 02:18:14 +02:00
< tr app = "{{ result.app.name }}" class = "resultline {% if result.app.list.name == " official " % } official { % endif % } " level = "{{ result.level if result.level >= 0 else " ? " } } " >
2017-12-19 17:03:51 +01:00
< td class = "ci-app-row-title" >
{% if result.app.list.name == "official" %}
< span class = "official-star oi oi-star" title = "Official" aria-hidden = "true" > < / span >
{% endif %}
2017-12-19 19:20:27 +01:00
< a href = "{{ url_for('main.appci_app', app=result.app.name) }}" >
2018-01-30 19:37:27 +01:00
< span class = "font-weight-bold" title = "More tests / info for this app" >
{{ result.app.name }}< / span >
2017-12-19 17:03:51 +01:00
< / a >
< / td >
< td class = "ci-app-level" value = "{{ result.level }}" >
< div title = "Level" > < strong > {{ result.level if result.level >= 0 else "?" }}< / strong > < / div > < / td >
2017-12-19 20:10:12 +01:00
{% for test in tests %}
{% set r = result.results[test] %}
2017-12-19 17:03:51 +01:00
< td class = "ci-app-test-result" >
< div title = "{{ test }}" value = "{{ r }}" > < / div >
< / td >
{% endfor %}
2018-01-30 19:37:27 +01:00
< td class = "ci-app-test-info px-0" >
2018-12-12 17:33:24 +01:00
{% if result.date == None %}
< span class = "daysAgo" href = "{{ branch.last_build_url(result.app) }}" > ???< / span >
{% else %}
< span class = "daysAgo" timestamp = "{{ result.date.timestamp() }}" href = "{{ branch.last_build_url(result.app) }}" > < / span >
{% endif %}
2017-12-19 17:03:51 +01:00
{% if result.commit != result.app.master_commit %}
2018-01-30 19:37:27 +01:00
< span class = "oi oi-clock text-warning"
2017-12-19 17:03:51 +01:00
aria-hidden="true"
title="This test is outdated : a more recent commit exists in master than the one tested.">< / span >
{% endif %}
2018-05-26 18:21:30 +02:00
{% if result.app.public_commit != 'HEAD' and result.app.public_commit != result.app.master_commit %}
2018-12-12 17:33:24 +01:00
<!--
2018-03-10 22:46:33 +01:00
{% if result.app.public_vs_master_time_diff > 60 %}
< span class = "oi oi-warning text-danger"
2018-03-10 23:12:04 +01:00
{% else %}
< span class = "oi oi-warning text-warning"
2018-03-10 22:46:33 +01:00
{% endif %}
2017-12-19 17:03:51 +01:00
aria-hidden="true"
title="Master commit is not up to date with {{ result.app.list.name }}.json !">< / span >
2018-12-12 17:33:24 +01:00
-->
2017-12-19 17:03:51 +01:00
{% endif %}
2019-05-14 19:00:38 +02:00
{% if result.app.testing_pr %}
2018-01-30 19:37:27 +01:00
< span class = "oi oi-fork text-info"
2017-12-19 17:03:51 +01:00
aria-hidden="true"
title="An active testing branch exists for this app.">< / span >
{% endif %}
< / td >
2018-01-30 19:37:27 +01:00
< td class = "px-0" >
< a href = "{{ result.app.repo }}" >
< span class = "oi oi-external-link text-info"
aria-hidden="true"
title="To the Git repo!">< / span >
< / a >
< / td >
2017-12-19 17:03:51 +01:00
< / tr >
{% endfor %}
< / tbody >
< / table >
< / div >
< / div >
< / div >
< script src = "{{ url_for('static', filename='js/canvasjs.min.js') }}" > < / script >
< script >
window.onload = function () {
var chart = new CanvasJS.Chart("levelSummary", {
animationEnabled: false,
data: [{
type: "doughnut",
startAngle: -90,
//innerRadius: 60,
indexLabelFontSize: 17,
indexLabel: "{label} - #percent%",
toolTipContent: "< b > {label}:< / b > {y} (#percent%)",
dataPoints: [
2018-05-22 02:18:14 +02:00
{ y: $(".ci-app-level[value=-1]").length, label: "Unknown", color: "#cccccc" },
2017-12-19 17:03:51 +01:00
{ y: $(".ci-app-level[value=0]").length, label: "Level 0", color: "#d9534f" },
{ y: $(".ci-app-level[value=1]").length, label: "Level 1", color: "#E26D4F" },
{ y: $(".ci-app-level[value=2]").length, label: "Level 2", color: "#E98D4E" },
{ y: $(".ci-app-level[value=3]").length, label: "Level 3", color: "#f0ad4e" },
{ y: $(".ci-app-level[value=4]").length, label: "Level 4", color: "#CBB052" },
{ y: $(".ci-app-level[value=5]").length, label: "Level 5", color: "#A6B255" },
{ y: $(".ci-app-level[value=6]").length, label: "Level 6", color: "#7AB659" },
2019-04-29 22:29:08 +02:00
{ y: $(".ci-app-level[value=7]").length, label: "Level 7", color: "#5cb85c" },
{ y: $(".ci-app-level[value=8]").length, label: "Level 8", color: "#4695d5" }
2017-12-19 17:03:51 +01:00
]
}]
});
chart.render();
2018-05-22 02:18:14 +02:00
$("input[type='radio']").change(function() { update_filters(); });
2018-05-22 00:12:53 +02:00
update_filters();
2017-12-19 17:03:51 +01:00
}
2018-05-22 00:12:53 +02:00
function toggle(e) {
2018-05-22 02:18:14 +02:00
$(e).toggleClass("btn-light");
2018-05-22 00:12:53 +02:00
$(e).toggleClass("btn-primary");
update_filters();
}
2018-05-22 02:18:14 +02:00
2018-05-22 00:12:53 +02:00
function update_filters() {
var onlyOfficials = $("#filter_onlyOfficials").hasClass("btn-primary");
2018-05-22 02:18:14 +02:00
var levelFilter = $("input[type='radio']:checked").attr("level");
2018-05-22 00:12:53 +02:00
$(".resultline").show();
if (onlyOfficials) { $(".resultline:not(.official)").hide(); }
2018-05-22 02:18:14 +02:00
if (levelFilter != "all") { $(".resultline[level!='"+levelFilter+"']").hide(); }
2018-05-22 00:12:53 +02:00
}
2017-12-19 17:03:51 +01:00
< / script >
{% endblock %}