All 'change' icons should have a tooltip that appears
when you hover over them. The tootlip says (fittingly):
"Change". Initialise those icons in the libtoaster.js
file so that they work outside the project page.
(Bitbake rev: c635dd71670030da78c52545d2bb32b8c485c1af)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the new build button, it only makes sense to change
the selected project when there is more than one project
in the Toaster instance. If the number of projects is 1,
we hide the change project icon.
(Bitbake rev: e354a40d7dbcd85fea9d37d3983428e4470df2dd)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In managed mode, we show the name of the project in the build
notifications of the all builds page. The way we show the
project requires modifying the default padding of the .alert
class. This patch makes sure the padding modification is
only applied in managed mode, i.e., when the project name
needs to be shown.
(Bitbake rev: d1cd8b229c402fae3499e35415ad79c0e11ee517)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Changing ToasterUI to log toaster exceptions on a different level than
build errors.
Updating the build dashboard to show Toaster exceptions.
We add extra logging to console for exceptions.
Fixed a problem where packages database entries were created instead of
being looked up in the database, conficting with entries created to
satisfy dependency information.
Toaster now checks for invalid states at startup and performs needed
cleanups.
Removed loading reference to jquery-ui.min.css as we do not have this
file.
(Bitbake rev: 2378812bc24d433125fb940f110154f0ce638448)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Only show new build button if we have defined at least one project as we
can't select a project to build against if there are no projects created
yet.
(Bitbake rev: 6daada59ee846c4e957bba3574dc262a0c79854d)
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Get rid of the display:block attribute for the "View
all projects" link, to stop it from firing when you
click outside (but next to) the link
* Give some margin to the incomplete configuration
alert
(Bitbake rev: 83af0db872ea28965cd6007ad72ff210f67a4f30)
Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a utility function to return a specified project's info/config
This re-uses the existing server code path for the project edit
except that it allows any project id to be used as a parameter
(Bitbake rev: af42ea5f006c5cf55a7c57a42904f412639d261f)
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Replace main.js with libtoaster. This can be a place for common
functionality for toaster. Calling it lib... makes it more obvious as
well as helps with code readability due to the namespacing.
(Bitbake rev: cdf6178ae3675b40afca9f08d491ca1b7e45914e)
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch modifies how layers are identified and matched.
Layers were primarely organized by the source of layer information,
and Releases were separated by both layer git branches and originating
source of layer information. This setup prevented mixing layers from
different sources for a certain release, which didn't match the way
people use Yocto Project / bitbake.
This patch brings name-based indentification, where layers with the
same name are assumed to be equivalent, in the sense of being able
to substitute one another. To facilitate this identification to
humans, layers are differentiated by GIT URI instead of layer sources,
which was a rather arbitrary abstraction.
Additional changes include modification to models in order accomodate
for the new data structure, and to config file loading to match
the new toasterconf.json layout.
(Bitbake rev: 4357200aed522ad56cfd84917f877645b83b6a70)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We close XSS injection points in Projects page.
* modify the json filter to properly escape HTML tags in strings
* enable $sanitize to automatically sanitize dangerous HTML in
user-supplied input
* clean dangerous characters in targets field, as that field contents
will be directly passed to a shell command
Based on the vulnerability discovered and the patch provided by Michael Wood.
(Bitbake rev: 23c440db9c076ca37e651bdbbdbefee54998e1dc)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We import angular services ngRoute and
ngSanitize that helps performing user-input
sanitization in order to prevent XSS.
Both services are version 1.2.23.
License is MIT.
(Bitbake rev: 4165895329b3a5e439a38ee749b089637dc502d7)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Small fixes to the UI of the project.html and targets.html templates.
In project.html:
* Remove some inline styles and replace them with declarations
in default.css
* Make sure that the 'add' and 'build' buttons in the project
configuration areas have nice, rounded corners
* Add some space between the machine name and the change icon
* Remove the input-prepend class from the build form (we don't
need it)
* Apply the success class to target names in completed builds
* Bold machine and project name in the change notifications to
match all other notifications
* There is a bug in Twitter Boostrap in tooltips inside buttons, so
moving the tooltip in the 'build' button outside the button tag
In targets.html, just add a missing space between the semicolon
and the first layer name in the add layer notification.
(Bitbake rev: 19113c4fe915be7db51ab06dfab5ea0797faea84)
Signed-off-by: Belen Barros <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The bootstrap version we are working with is 2.3 not 3
(Bitbake rev: 76c90fe9dcd6fc1aa7e82d9dca0ea9e653d322a1)
Signed-off-by: Michael Wood <michael.g.wood@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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 is a combined set of fixes for the project, layers and targets
pages in the project section of toaster.
The fixes correct behaviour and look in various parts of the page,
including submitting XHR commands and updating the DOM with the correct
info.
(Bitbake rev: 96d7738f964784871c928c376cb9fbc9a275cf00)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We add a static copy of the Angular's animate plugin,
version 1.2.23
Licensed under MIT.
(Bitbake rev: 12162fda32af4bc805d6ff5b0348d93befe2f623)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch definitivates the all layers page, providing interactivity
for adding and removing layers inside the project from this page.
[YOCTO #6590]
(Bitbake rev: e690080f83ad53c5e4a31e8c0fba2cc744eea1eb)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch rewrites the Project page and the additional
infrastructure in order to fix a bug that makes triggering
builds through UI impossible, and to introduce data feeds
for suggestions for the user.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Change the background colour of table rows with the .error
class from white to transparent, to make sure the blue
highlight animation works when you click on the order
number in the task details page.
(Bitbake rev: 25fd347b6a972164af9a0b5b56f803a296290246)
Signed-off-by: Belen Barros Pena <belen.barros.pena@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is the first commit on the project main edit page.
At this point we have:
* the default settings for a newly created project
* the ability to add targets
* the ability to trigger a build command, and have
the build executed
Project layers now have an optional field, allowing for
removal. Default meta, meta-yocto and meta-yocto-bsp
layers cannot be optional.
We add XHR calls for interactivity in the main page.
(Bitbake rev: 4e438854120cbd10319df1b571ec93e334002325)
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add a '\n' to the last line of the file to fix:
No newline at end of file
(Bitbake rev: 5eb65d92c35264087e5d82c35638f3b8805b1b3e)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO 5778]
Implements the features described in the attachment to bugzilla 5778
- new global changes to the format of size data, and
- adding sorts by selected columns to specific detail pages.
Although new pagination and row search capabilities are shown on the
screen shots for the 5778 attachment, those features are specified in
a different bugzilla entry 5777 and are not implemented in this commit.
Also, the 5778 spec includes table sorting for the recipe package
detail page, but sorting for that page was not implemented in this
commit due to complications with sorting then returning to a page that
is only one URL fragment in a template.
The scope of file changes are described below.
Changes to support new 'size' field column formats...
default.css - added sizecol class style (right justified)
projecttags.py - changed filtered_filesizeformat to allow
".0" suffixes
Changes that add class 'sizecol, span2(as spec'd) ' to <th> and/or
<td> size columns were made to...
dirinfo.py,
package_built_dependencies.html,
package_included_dependencies.html,
recipe.html,
bpackage.html, and
target.html
More significant changes to support detail page table sorting
are:
- tablesort.html: New created to implement the sort icons,
directions, and table headings, and
suppress sort handling if 'disable_sort' in context,
without search or pagination elements ingrained
in basetable_top. Confining the changes to this small file
reduces the impact (testing and risk) on the larger set of
files that arleady include basetable_top/bottom files.
- view.py: Modified the following view functions with
- trivial changes for size formatting to the views: target,
- changes to package_built_detail, package_included_detail,
package_included_reverse_dependencies to handle the sorting
implementation as well as moving headings and size
formatting for size columns from templates to the views.
- Implementation of the detail sorting using above in:
package_built_detail.html,
package_included_detail.html, and
package_included_reverse_dependencies.html
to include the tablesort heading setup, format the size column,
and iterate over the new sorted objects, suppressing sorts if
table row count less than 2.
(Bitbake rev: d16126e9abfffde66ab70865a81997322847d44e)
Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
* Add "on" before the date in the build status
* Get rid of the extra space before the "and" in the
build status
* Make the errors and warnings links in the build
status show the message content
* Make sure that the "Images" section in the left navigation
appears only for successful builds
* Link the number of packages installed to the "Packages
included" tab in the image information page
* Remove unnecessary inline styles in the dashboard
template
* Make sure target names in the h1 are listed in
alphabetical order
(Bitbake rev: 644a38e9a90728af52ebda9846d2037dd6831b41)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is a known layout issue with Bootstrap tables in
Chrome. This change applies a css fix for it, and changes
the span classes in the variables table to improve
formatting.
(Bitbake rev: a7fee015b1cc34351d5ad8b854fc6bf368416400)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Remove the duplicated class attribute and the name
attribute.
Also, make sure that the row blue highlight works
without the name attribute when you land on the
tasks table after clicking the order link in a
task details page.
The commit also fixes a typo in default.css.
[YOCTO #6033]
(Bitbake rev: 471234f1ab1dbcd736a892720e99a305363db5ff)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Increase the duration of the blue highlight animation
from 7 to 10 seconds.
(Bitbake rev: 0d48cec969a68f9b70e04be6d86b078df8f1ec5b)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add support for empty states in the top build page,
the all packages page, and the all tasks page.
[YOCTO #4865]
(Bitbake rev: eaff7b50d7102c97b75df185b9ef917970319d59)
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If the user pop-ups a filter dialog when another filter is already
active, warn the user that the new filter would replace the
previous filter.
[YOCTO #5960]
(Bitbake rev: 6be58123fcdb0ff20de2a88315e1e3012effd1d3)
Signed-off-by: David Reyna <David.Reyna@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
[YOCTO # 4346]
When a target image is selected, this commit adds to the toaster
project a two-tabbed page that shows
1) 'packages included' a table of packages included in the image
(see target.html), and
2) 'directory structure', the target image's file system directory
and detailed information showing the source of each file in the
directory table (see dirinfo.html).
The directory structure tab relies on the open source jQuery plugin
jtreetable which provides hierarchical table expansions and contractions
of the directory entry tables as the user drills down into directories.
A file of jtreetable styles that are compatible with other toaster styles
is provided included as css/jquery.treetable.theme.toaster.css. The
complete unaltered jtreetable plugin is added via a separate commit.
This work was developed base on the bugzilla specification number 4346
and the document "Design 1.1 Image information" attached to that report.
Whitespace and typo fixes from Alex Damian.
(Bitbake rev: 1ba9f310a8b4fd0952a95be86ab43ae27fe6d983)
Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit includes the critical javascript and css files
downloaded from http://plugins.jquery.com/treetable version 3.1.0.
The following is from the author's README.md included with
the license files in the directory static/jquery-treetable-license.
"jQuery treetable is a plugin for jQuery, the 'Write Less, Do More,
JavaScript Library'. With this plugin you can display a tree in an
HTML table, e.g. a directory structure or a nested list...
Download the latest release from the jQuery Plugin Registry or grab
the source code from Github. Please report issues through Github
issues. This plugin is released under both the MIT and the GPLv2
license by Ludo van den Boom...
See index.html for technical documentation and examples. The most
recent version of this document is also available online at
http://ludo.cubicphuse.nl/jquery-treetable. An AJAX enabled example
built with Ruby on Rails can be found at
https://github.com/ludo/jquery-treetable-ajax-example."
Author: Ludo van den Boom
The relevant files were moved to the static/js and static/css
directories to match the existing javascript and css toaster
deployment model.
The applicable licenses and the README are in
static/jquery-treetable-license.
(Bitbake rev: 9a260d8b08053e3dcc2fe5960e060b2da1109790)
Signed-off-by: Dave Lerner <dave.lerner@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Tidying up the presentation in the task.html template.
The changes include:
* Correct the markup for the help tooltips
* Fix the help content for the outcome heading
* Make sure <dt> tags do not show for empty log
file, time, cpu and disk I/O values
* Eliminate an extra <dl> for tasks with sstate attempts
* Add <strong> tag to the sstate restored alert
* Replace the .alert-info class with the .muted class
for the no dependencies messages
* Make sure the Executed heading does not inherit
the .red class for failed tasks
* Format time and cpu values to make sure they only
show 2 decimal digits
(Bitbake rev: bbc22958ab37dcd44c03420a7b8f842a1f4e51b1)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Correctly align the Search button to the text input field,
add .btn class to the clear search button, replace the
placeholder attribute with the value attribute so that you
can edit your search query, remove the clear search button
from the tab index so that you don't clear the search by
mistake and edit the margins of the .no-results class.
(Bitbake rev: 4ada4307623c1e27b589831d359dc6351e6e3ad5)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Conflicts:
bitbake/lib/toaster/toastergui/templates/build.html
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add the errors and warnings listing to the build
dashboard page.
(Bitbake rev: 2004c0fd1dd049d26279ee10a18e69e6852247fa)
Signed-off-by: Amit Kumar Chaudhary <amit@floatingpondtech.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
I have move all javascript needed for toggling very long
values for bitbake variables to main.js. I have changed the
names of the classes involved to make them more generic,
since I hope we'll be able to reuse them in other parts
of the Toaster interface.
.full-variable is now .full
.full-variable-hide is now full-hide
.full-variable-show is now full-show
I have also removed all the inline scripting in base.html, since
it is no longer needed.
(Bitbake rev: 73828f047385ced160c7900cad24535aa8d325cd)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When you apply a filter, we show you a tooltip on hover
that tells you which filter you have applied and allows you
to clear it quickly. That tooltip does not disappear
straight away if you click on the filter button: it hangs
in there because the tooltip has a delay specified on
hide. The effect is quite annoying.
This change to main.js makes sure the tooltip disappears when
you click the filter button.
(Bitbake rev: 5928d2f3cba4524966a34d8c845a04627b9b310b)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In the task details page, our labels are quite long and
the default width of the dt elements in the .dl-horizontal
class is too small. Changing the width to 200px, and the
left margin of the dd element to 220px.
Changing the bootstrap.min.css file is not ideal (ok, is
a pretty bad hack), but it is the only way to keep the
nice responsive styles for those definition lists.
(Bitbake rev: 1e655eb121173b4441a9a4e9005fe8c1f235dfbb)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The templates bpackage.html, recipes.html and build.html included
an inline style declaration in the div containing the h1
tag to add a top margin of 40px. The extra top margin
is unnecessary in bpackage.html and recipes.html, but nicely
separates the Recent builds and All builds sections in build.html.
The changes remove the inline style declaration and create
a .top-air class in default.css to include the extra top margin
when needed, i.e. in the build.html template.
(Bitbake rev: 2841f0740024a8351606452a5f803b9b7f70c783)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Table popovers should be mutually exclusive (only one
of them should be open at any given time), and should
close when you click outside their area. But this is not
the default popover behaviour in Bootstrap, so some
additional javascript is needed.
The code in main.js taking care of this in the design
prototype was quite ugly and didn't get on well with
certain browsers. I have replaced it with a better
solution (although still not ideal).
(Bitbake rev: d56633c00f6730c053f355570211eba1bdc41b62)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Some recipes and packages have a lot of dependencies.
To stop their popovers from taking over the full
height of the screen, I have given them a maximum
height and made their content scrollable in
default.css
(Bitbake rev: b6416a98f441516100d2ce7baca30f09714a1d1d)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch changes default.css so that any anchor
tag inside a table cell with the error class applied
inherits the class styles. This ensures that the
failed tasks listed in the builds table look red
like the failed tasks in the tasks table.
(Bitbake rev: e5cbb190317dba2eddd933678474569563ec840b)
Signed-off-by: Belen Barros Pena <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Twitter Boostrap elements with the dropdown-menu class
close by default once a selection is performed. Such
behaviour is not appropriate for our "Edit columns" menu,
since users might want to check / uncheck several
columns.
This patch adds a call to the stopPropagation() jQuery
function to main.js to stop the "Edit columns" menu
from closing every time you change a checkbox.
(Bitbake rev: c2e43750bf0913523a1abcb2c8bf97b764da2524)
Signed-off-by: Belen Barros <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch modifies the basetable_top.html template to add
the 'Show all' button to the applied filter tooltip. It also
adds a delay in the tooltip dismissal in main.js to allow
users to click the button comfortably.
The patch does not add the functionality to the button (when
you click on it nothing happens). Someone else will need
to add that in.
(Bitbake rev: e39857162b5d91cc2f92843a9a14599bab369849)
Signed-off-by: Belen Barros <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Clean up main.js to leave only what is being
used in the design prototype.
Initialise the Bootstrap tooltips for any anchor tag inside
a table heading with the btn-primary class applied. This
effectively styles the title attribute of the applied
filters to look like all other Toaster tooltips.
(Bitbake rev: 71a07268c3a2e969c088ef9f6bcf4c54254b3600)
Signed-off-by: Belen Barros <belen.barros.pena@intel.com>
Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Override the default styles of Twitter Bootstrap for table rows
with the .error class applied, and ensure that table cells and
anchor tags inherit the .error styles when their table row has
that class applied.
(Bitbake rev: 8b44955bb836ccad384718247ceb08d713ebc152)
Signed-off-by: Belen Barros <belen.barros.pena@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>