mirror of
https://git.yoctoproject.org/poky
synced 2026-09-14 21:49:33 +02:00
bitbake: toastergui: changes for the Project page, round 3 of reviews
This patch implements the round 3 of reviews for the Project page, including fixing the time display, fixing the build list display, with fade-in and fade-out animations, and various small layout fixes. [YOCTO #6587] [YOCTO #6731] (Bitbake rev: 09e3ba8f800a03de731b022543cae33a46be17ef) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
abf7551f60
commit
7b65fa9bbb
@@ -9,6 +9,7 @@ vim: expandtab tabstop=2
|
||||
|
||||
{% block projectinfomain %}
|
||||
<script src="{% static "js/angular.min.js" %}"></script>
|
||||
<script src="{% static "js/angular-animate.min.js" %}"></script>
|
||||
<script src="{% static "js/angular-cookies.min.js" %}"></script>
|
||||
<script src="{% static "js/ui-bootstrap-tpls-0.11.0.js" %}"></script>
|
||||
|
||||
@@ -105,19 +106,21 @@ vim: expandtab tabstop=2
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<a id="buildslist"></a>
|
||||
<h2 class="air" ng-if="builds.length">Latest builds</h2>
|
||||
|
||||
<div class="alert" ng-repeat="b in builds" ng-class="{'queued':'alert-info', 'deleted':'alert-info', 'in progress': 'alert-info', 'failed':'alert-error', 'completed':{'In Progress':'alert-info', 'Succeeded':'alert-success', 'Failed':'alert-error'}[b.build[0].status]}[b.status]" >
|
||||
<div class="animate-repeat alert" ng-repeat="b in builds track by b.id" ng-class="{'queued':'alert-info', 'deleted':'alert-info', 'in progress': 'alert-info', 'failed':'alert-error', 'completed':{'In Progress':'alert-info', 'Succeeded':'alert-success', 'Failed':'alert-error'}[b.build[0].status]}[b.status]">
|
||||
<div class="row-fluid">
|
||||
<switch ng-switch="b.status">
|
||||
|
||||
<case ng-switch-when="failed">
|
||||
<div class="lead span3"> <span ng-repeat="t in b.targets" ng-include src="'target_display'"></span> </div>
|
||||
<div class="lead span3"> <span ng-repeat="t in b.targets" ng-include src="'target_display'"></span></div>
|
||||
<div class="row-fluid">
|
||||
<div class="air well" ng-repeat="e in b.errors">
|
||||
{[e.type]}: <pre>{[e.msg]}</pre>
|
||||
Error type {[e.type]}: <pre>{[e.msg]}</pre>
|
||||
</div>
|
||||
</div>
|
||||
</case>
|
||||
|
||||
<case ng-switch-when="queued">
|
||||
<div class="lead span5"> <span ng-repeat="t in b.targets" ng-include src="'target_display'"></span> </div>
|
||||
<div class="span4 lead" >Build queued
|
||||
@@ -125,6 +128,7 @@ vim: expandtab tabstop=2
|
||||
</div>
|
||||
<button class="btn pull-right btn-info" ng-click="buildCancel(b.id)">Cancel</button>
|
||||
</case>
|
||||
|
||||
<case ng-switch-when="created">
|
||||
<div class="lead span3"> <span ng-repeat="t in b.targets" ng-include src="'target_display'"></span> </div>
|
||||
<div class="span6" >
|
||||
@@ -132,35 +136,56 @@ vim: expandtab tabstop=2
|
||||
</div>
|
||||
<button class="btn pull-right btn-info" ng-click="buildCancel(b.id)">Cancel</button>
|
||||
</case>
|
||||
|
||||
<case ng-switch-when="deleted">
|
||||
<div class="lead span3"> <span ng-repeat="t in b.targets" ng-include src="'target_display'"></span> </div>
|
||||
<div class="span6" id="{[b.id]}-deleted" >
|
||||
<span class="lead">Build deleted</span>
|
||||
</div>
|
||||
<button class="btn pull-right btn-info" ng-click="builds.splice(builds.indexOf(b), 1)">Close</button>
|
||||
<button class="btn pull-right btn-info" ng-click="buildDelete(b.id)">Close</button>
|
||||
</case>
|
||||
|
||||
|
||||
<case ng-switch-when="in progress">
|
||||
<div class="lead span3"> <span ng-repeat="t in b.targets" ng-include src="'target_display'"></span> </div>
|
||||
<div class="span4" >
|
||||
<div class="progress" style="margin-top:5px;" data-toggle="tooltip" tooltip="{[b.build[0].completeper]}% of tasks complete">
|
||||
<div style="width: {[b.build[0].completeper]}%;" class="bar"></div>
|
||||
<switch ng-switch="b.build.length">
|
||||
<case ng-switch-when="0">
|
||||
<div class="lead span5"> <span ng-repeat="t in b.targets" ng-include src="'target_display'"></span> </div>
|
||||
<div class="span4 lead">
|
||||
Checking out layers
|
||||
</div>
|
||||
</div>
|
||||
<div class="lead pull-right">ETA: at {[b.build[0].eta|date:"shortDate"]}</div>
|
||||
</case>
|
||||
<case ng-switch-default="">
|
||||
<div class="lead span3"> <span ng-repeat="t in b.targets" ng-include src="'target_display'"></span> </div>
|
||||
<div class="span4 offset1" >
|
||||
<div class="progress" style="margin-top:5px;" data-toggle="tooltip" tooltip="{[b.build[0].completeper]}% of tasks complete">
|
||||
<div style="width: {[b.build[0].completeper]}%;" class="bar"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="text-right lead">ETA: {[b.build[0].eta|date:"HH:mm:ss"]}</div>
|
||||
</case>
|
||||
</case>
|
||||
|
||||
|
||||
<case ng-switch-when="completed">
|
||||
<div class="lead span3"><a href="{[b.build[0].build_page_url]}"><span ng-repeat="t in b.targets" ng-include src="'target_display'"></span></a></div>
|
||||
<div class="span2 lead">
|
||||
{[b.build[0].completed_on|date:'dd/MM/yy HH:mm']}
|
||||
<ngif ng-if="b.build[0].completed_on - todaydate > 0">
|
||||
{[b.build[0].completed_on|date:'HH:mm']}
|
||||
</ngif>
|
||||
<ngif ng-if="b.build[0].completed_on - todaydate < 0">
|
||||
{[b.build[0].completed_on|date:'dd/MM/yy HH:mm']}
|
||||
</ngif>
|
||||
</div>
|
||||
<div class="span2"><span><a href="{[b.build[0].build_page_url]}#errors" class="lead error" ng-if="b.build[0].errors">{[b.build[0].errors]}</a></span></div>
|
||||
<div class="span2"><span><a href="{[b.build[0].build_page_url]}#warnings" class="lead warning" ng-if="b.build[0].warnings">{[b.build[0].warnings]}</a></span></div>
|
||||
<div> <span class="lead">Build time: {[b.build[0].build_time|timediff]}</span>
|
||||
<div> <span class="lead">Build time: <a href="{[b.build[0].build_time_page_url]}">{[b.build[0].build_time|timediff]}</a></span>
|
||||
<button class="btn pull-right" ng-class="{'Succeeded': 'btn-success', 'Failed': 'btn-danger'}[b.build[0].status]"
|
||||
ng-click="targetExistingBuild(b.targets)">Run again</button>
|
||||
|
||||
</div>
|
||||
</case>
|
||||
|
||||
|
||||
<case ng-switch-default="">
|
||||
<div>FIXME!</div>
|
||||
</case>
|
||||
@@ -206,7 +231,7 @@ vim: expandtab tabstop=2
|
||||
</form>
|
||||
<p><a href="{% url 'layers' %}">View all layers</a> | <a href="{% url 'importlayer' %}">Import layer</a></p>
|
||||
<ul class="unstyled configuration-list">
|
||||
<li ng-repeat="l in layers">
|
||||
<li ng-repeat="l in layers track by l.id" class="animate-repeat">
|
||||
<a href="{[l.layerdetailurl]}" target="_#" class="layer-info" data-toggle="tooltip" tooltip="{[l.branch.layersource]} | {[l.branch.name]}">{[l.name]} </a>
|
||||
<i class="icon-trash" ng-click="layerDel(l.id)" tooltip="Delete"></i>
|
||||
</li>
|
||||
@@ -221,8 +246,8 @@ vim: expandtab tabstop=2
|
||||
<i class="icon-question-sign get-help heading-help" title="What you build, often a recipe producing a root file system file (an image). Something like <code>core-image-minimal</code> or <code>core-image-sato</code>"></i>
|
||||
</h3>
|
||||
<form ng-submit="targetNamedBuild()" class="input-append">
|
||||
<input type="text" class="input-xlarge" placeholder="Type the target(s) you want to build" autocomplete="off" data-minLength="1" ng-model="targetName" typeahead="e.name for e in getSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length">
|
||||
<button type="submit" id="build-button" class="btn btn-primary" ng-disabled="!targetName.length">
|
||||
<input type="text" class="input-xlarge" placeholder="Type the target(s) you want to build" autocomplete="off" data-minLength="1" ng-model="targetName1" typeahead="e.name for e in getSuggestions('targets', $viewValue)|filter:$viewValue" typeahead-template-url="suggestion_details" ng-disabled="!layers.length">
|
||||
<button type="submit" id="build-button" class="btn btn-primary" ng-disabled="!targetName1.length">
|
||||
Build </button>
|
||||
{% csrf_token %}
|
||||
</form>
|
||||
@@ -343,13 +368,16 @@ angular.element(document).ready(function() {
|
||||
scope.machine = {{machine|safe}};
|
||||
scope.releases = {{releases|safe}};
|
||||
|
||||
var now = (new Date()).getTime();
|
||||
scope.todaydate = now - (now % 86400000);
|
||||
|
||||
scope.zone1alerts = [];
|
||||
scope.zone2alerts = [];
|
||||
scope.zone3alerts = [];
|
||||
|
||||
scope.mostBuiltTargets = {};
|
||||
|
||||
scope.executeCommands();
|
||||
scope.updateDisplayWithCommands();
|
||||
scope.validateData();
|
||||
|
||||
scope.$digest();
|
||||
|
||||
Reference in New Issue
Block a user