summaryrefslogtreecommitdiff
path: root/web/status/jquery.zuul.js
Commit message (Collapse)AuthorAgeFilesLines
* Revert "Revert "web: rewrite interface in react""Tristan Cacqueray2018-10-061-944/+0
| | | | | | This reverts commit 3dba813c643ec8f4b3323c2a09c6aecf8ad4d338. Change-Id: I233797a9b4e3485491c49675da2c2efbdba59449
* Revert "web: rewrite interface in react"James E. Blair2018-09-291-0/+944
| | | | | | | | | | | Revert "Fix publish-openstack-javascript-content" This reverts commit ca199eb9dbb64e25490ee5803e4f18c91f34681d. This reverts commit 1082faae958bffa719ab333c3f5ae9776a8b26d7. This appears to remove the tarball publishing system that we rely on. Change-Id: Id746fb826dfc01b157c5b772adc1d2991ddcd93a
* web: rewrite interface in reactTristan Cacqueray2018-09-271-944/+0
| | | | | | | | | | This change rewrites the web interface using React: http://lists.zuul-ci.org/pipermail/zuul-discuss/2018-August/000528.html Depends-On: https://review.openstack.org/591964 Change-Id: Ic6c33102ac3da69ebd0b8e9c6c8b431d51f3cfd4 Co-Authored-By: Monty Taylor <mordred@inaugust.com> Co-Authored-By: James E. Blair <jeblair@redhat.com>
* Correctly show remaining time as unknownSteve Kowalik2018-09-121-1/+6
| | | | | | | | | | The Python set of calculating the remaining time deals with the fact that if not all jobs are queued, the remaining time is None. The JS deals with this by rendering a time of 'null' as 0 minutes, which is false. Check for this case, and set the remaining time to 'unknown' if the job's remaining time is null. Change-Id: I3e1ea00084a0dc9497b9678b816883d9b984312b
* Support job pauseTobias Henkel2018-08-091-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | There are some use cases where it would be very useful to have some resources that stay during the livetime of the buildset. E.g.: * Spinning up a docker registry for child jobs that automatically gets cleaned up after a test run. * Efficiently caching intermediate build results that are needed in child jobs without needing and overloading a central system for this. In order to provide this functionality a job now can pause itself after the run phase and let its children run. After all children are finished it will be resumed. This can be easily triggered in a job by using the zuul_return module together with the ability to forward any data via ansible variables to the children. - name: Pause job zuul_return: data: zuul: pause: true registry_ip: "{{ hostvars[groups.all[0]].ansible_host }}" Change-Id: I1a078bf22b9d3f9a33bd1517e73234749932e1bf
* web: fix status page flickeringTristan Cacqueray2018-06-281-2/+2
| | | | | | | | | Each time the jquery.zuul status page is created it registers a setTimeout loop and page focus event that needs to be cleared when the user visit another page. Otherwise the page flicker for each status component that has been loaded. Change-Id: I762496899570da4438e1cca78a6a35f7f4141049
* Consolidate navigation functionsMonty Taylor2018-06-281-2/+2
| | | | | | | | | | | | | | | | We had getBaseHref and getBaseHrefFromPath in two places, but also it looked like they needed to do exactly the same thing. We need getApiBaseHref to be a function so we can all it in the app.module provider. We also want it to return a path, not a URL. (Ignore the 'href' in the name) We need to be able to get the base URL to use for API calls - and we need, for now, while we have links being made outside of angular, to be able to get something similar to getApiBaseHref but that returns a url and not a path. Change-Id: I7457a7b160a312ea3eec74b8a4f3380a1f95d8e1
* Revert "Revert "Upgrade from angularjs (v1) to angular (v6)""Monty Taylor2018-06-271-0/+933
| | | | | | | | This reverts commit fc1a71f69fc4a09983a8b1018f3cf5a935037451. This time with better handling for base hrefs. Change-Id: I530b6ff0a4da0546584d0c93bf6e0bb716a9dbc3
* Revert "Upgrade from angularjs (v1) to angular (v6)"James E. Blair2018-06-261-933/+0
| | | | | | | | | This reverts commit 36aecc1229d8071980210314bb1caa3fd4f9ef90. This reverts commit 683f50ed5537d7024912867a61870af57bfdbce9. This caused zuul.openstack.org to attempt to GET "https://api/status". Change-Id: Ib25356f7ea5bfeec84e91195ac161d497f74d73d
* Hide queue headers for empty queues when filteringMohammed Naser2018-06-111-18/+28
| | | | | | | | | | | | | | | | | | | When filtering the status page for Zuul, the queues that don't match the filter but still have jobs will have their headers shown, resulting in a long list of nothing. This patch addresses this issue by making sure that we count the number of visible change boxes, if there are none, we don't display the `div` that contains the change queue. The only caveat of this change is that when hitting 'enter' after filling out the filter form, it will result in a full reload of the page and an HTTP request back to the status server, however, this isn't something that is done often so we can get away with this until we convert the status page to using Angular entirely, which will allow for easier filtering. Change-Id: I939912882ae900ab1fdf1a2adf9f024158572887
* Upgrade from angularjs (v1) to angular (v6)Monty Taylor2018-06-081-0/+923
Since we got started in all of this angular business back in the good old storyboard days of yore, the angular folks cut a major release (ok, 5 major releases). The old v1 angular is known as angularjs now, and starting at v2 the new codebase is just 'angular'. While angularjs is still supported for now, angularjs vs. angular seems to be more like zuulv2 vs. zuulv3 - the developers really want people to be on the >=v2 series, and they spent a good deal of time fixing issues from the original angularjs. The notable differences are the angular is a bit more explicit/verbose, and that it uses typescript instead of plain javscript. The increased verbosity wasn't the most popular with some fans of the original angularjs, but for those of us who aren't breathing it every day the verbosity is helpful. There is a recommended code organization structure which has been used. For zuul, there are notable changes to how the http client and location service work, so the code related to those has been reworked. $http has been reworked to use HttpClient - which defaults to grabbing the remote json and which can do so in a typesafe way. $location has been reworked to use the angular-routing module, which allows us to pull both URL and Query String parameters in a structured manner. We can similary pass query parameters to our output http requests. Since routing is the new solution for $location, extract the navigation bar into a re-usable component. Add tslint config for the typescript. Keep running eslint on our remaining plain javascript files, at least until we've got them all transitioned over. Use the angular tslint config as a base, but also adopt the rule from standardjs that says to not use semicolons since they are not actually needed. The main.ejs file is a webpack template, not an angular template. Move it to web/config with the other webpack files to make that clear. Add a job that builds the zuul dashboard with the ZUUL_API_URL set to point to software factory. This should allow us to see a live test with a multi-tenant scheme. Depends-On: https://review.openstack.org/572542 Change-Id: Ida959da05df358994f4d11bb6f40f094d39a9541 Co-Authored-By: Tristan Cacqueray <tdecacqu@redhat.com> Co-Authored-By: Artem Goncharov <artem.goncharov@gmail.com>