summaryrefslogtreecommitdiff
path: root/web/src/pages/Buildsets.jsx
Commit message (Collapse)AuthorAgeFilesLines
* web: add dark mode and theme selectionTobias Urdin2023-04-211-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a theme selection in the preferences in the config modal and adds a new dark theme. Removes the line.png image and instead uses CSS linear-gradient that is available in all browsers since around 2018, also fixes the 15 pixels spacing issue that is there today. You can select between three different themes. Auto will use your system preference to choose either the light or dark theme, changes dynamically based on your system preference. Light is the current theme. Dark is the theme added by this patch series. The UX this changes is that if somebody has their system preferences set to dark, for example in Mac OS X that is in System Settings -> Appearance -> Dark the user will get the Zuul web UI in dark by default and same for the opposite. This uses a poor man's dark mode for swagger-ui as per the comment in [1]. [1] https://github.com/swagger-api/swagger-ui/issues/5327#issuecomment-742375520 Change-Id: I01cf32f3decdb885307a76eb79d644667bbbf9a3
* Zuul-Web: Filter input validation for "Change"Dong Zhang2023-03-151-0/+23
| | | | | | | | | | | User sometimes tends to copy the value from the "Change" column as a input for filtering, which would cause a 500 error in API. To fix this we do a input validation to indicate that the change must be a integer for example a PR bumber. So that make it clear any other fomat like a ref or a string with "," is not supported. Change-Id: Ia25a60429acc48c5773c808be6a900ba9bdf608e
* Add MERGE_FAILURE buildset resultJames E. Blair2022-02-241-0/+1
| | | | | | | | | | | | | | | We now report a distinct buildset result to the database if the upstream code review system is unable to merge a change. Previously it was reported as MERGE_CONFLICT which makes it difficult to distinguish from merge conflicts. Essentially, the two states we're interested in are when Zuul's merger is unable to prepare a git checkout of the change (99% of the time, this is a merge conflict). This is the MERGE_CONFLICT result. The second state is when Zuul asks Gerrit/Github/etc to submit/merge a change and the remote system is unable (or refuses) to do so. This is MERGE_FAILURE. Change-Id: I47af242aeb19ae4b4aedde353fcc76ff82d90fbe
* Rename MERGER_FAILURE to MERGE_CONFLICTJames E. Blair2022-02-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a prelude to a change which will report a distinct buildset result to the database if the upstream code review system is unable to merge a change. Currently it is reported as MERGER_FAILURE which makes it difficult to distinguish from merge conflicts. Essentially, the two states we're interested in are when Zuul's merger is unable to prepare a git checkout of the change (99% of the time, this is a merge conflict). This will be known as MERGE_CONFLICT now. The second state is when Zuul asks Gerrit/Github/etc to submit/merge a change and the remote system is unable (or refuses) to do so. In a future change, that will be reported as MERGE_FAILURE. To avoid confusion and use names which better reflect the situation, this change performs the rename to MERGE_CONFLICT. Because there are pipeline configuration options tied to the MERGER_FAILURE status (which start with 'merge-failure') they are also renamed to 'merge-conflict'. The old names are supported for backwards compatibility. A SQL migration takes care of updating values in the database. The upgrade procedure is noted as being special because of the db value updates. If an operator doesn't follow the recommended procedure, however, the consequences are minimal (builds which won't be easily queried in the web ui; that can be manually corrected if desired). A model API change is not needed since the only place where we receive this value from ZK can be updated to accept both values. Change-Id: I3050409ed68805c748efe7a176b9755fa281536f
* [web] Pagination in builds, buildsets searchMatthieu Huin2021-12-011-12/+92
| | | | | | | | Paginate results when searching for builds or buildsets. Since we do not know how many results a query may return, display "results X-Y of many" by default. If the total amount of results can be computed, display it. Change-Id: If2985d6bcb194e3b074a860dab8cd5958b2577ec
* Web UI: add checkbox, selects to filter toolbarMatthieu Huin2021-09-091-2/+7
| | | | | | | | | | | | | | | | | | | Support three new filter types: checkbox, select and ternary select. The ternary select tool is meant to support fields that can be set to True, False, or ignored. Use this feature to allow filtering builds by held status (i.e. show builds that triggered a autohold only) or by voting status (i.e. show only voting jobs). Selects let a user choose among predefined values. Use a select to help a user choose a result value when searching builds and buildsets. Build page: add a thumbtack icon next to a build's status badge if that build triggered an autohold. Change-Id: I40b06c83ed069e0756c7f8b00430d36a36230bfa
* UI: Remove stretchable link from build and buildset tableFelix Edel2021-02-041-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Making the whole row table row clickable in these pages makes makes it impossible to mark & copy any text from those rows. Users have expressed this is an annoyance worth fixing. This change removes the stretchable link from the whole table row and instead allows clicking on the job name or status icon to go to details about the job. We have added an optional link prop to title-with-icon; note this is used in other contexts where it does not make sense to be a link thus the optional implementation steps. It is intentional that these links retain their underline for discoverability. For the mobile version (which renders the table as a nice card list), we fall back to the "action column" solution which will be rendered nicely as a button in the top right corner of each card. For larger screens we hide this action column. Note this change is a squash of several other changes to make a consolidated review; for original details see: I788ea37b2ca1899d90160cc52761db0a77f78508 Ifc54edf9ca348ada8e3bfd07fd135d22f9f08489 Ifc54edf9ca348ada8e3bfd07fd135d22f9f08489 Ib4c3a2159e7bad58fcc27eb3ba4b62926ce73099 Co-Authored-By: Ian Wienand <iwienand@redhat.com> Change-Id: I276ff316b17aee932f2724f86e8f0eb1abe73c60
* PF4: Update builds and buildsets tables + use newest patternfly releaseFelix Edel2020-09-231-99/+29
| | | | | | | | | | | | | | | | | | | | This updates the tables shown on the builds and buildsets pages with new PF4 components. While the data is loading, a fetching animation is shown and in case no results could be found the page shows an empty state. Each table row is clickable and points to the build/buildset result page. The table uses the same hover effect as the build list on the buildset result page. This change also updates the used @patternfly/react-core version to match the current version of @patternfly/react-table [1]. Otherwise, some of the styles in the different @patternfly/react-core versions conflict with each other leading to wrong font-weights and wrong text colors in labels. [1] patternfly.org/v4/documentation/react/overview/release-notes#202010-release-notes-2020-08-17 Change-Id: I0f5e0815c53d18e8ae3570dc94594c77fecb90ce
* PF4: Update filter toolbar on builds and buildsets pageFelix Edel2020-09-231-16/+83
| | | | | | | | | | | This updates the toolbar on the builds and buildsets pages with new PF4 components. The toolbar itself doesn't handle the state of the filters, but it provides some methods to simplify the state handling in the parent component. This is necessary, since the filters are also used in other parts of the page and thus must be handled in the page component itself. Change-Id: Iec93c1be01ec1ac096e8d3dcfa501f3488f8a3bf
* Introduce Patternfly 4Felix Edel2020-07-071-2/+3
| | | | | | | | | | | | | | | | | | | | | | | Since Patternfly 4 (PF4) is a complete rewrite of the framework that doesn't require bootstrap and comes with a new npm package, it's possible to include both side-by-side in a project. This change includes the necessary PF4 packages and updates the header, navbar, drawer (shows the config errors) and global page layout with PF4 components. Once this is done, we should be able to update the other components step by step to PF4. Points to keep in mind for the migration phase: 1. Some Patternfly 3 CSS rules are overridden by Patternfly 4 wildcards, mostly (re)setting the padding and margin of various elements to 0. To fix this unwanted behaviour, there is a pf4-migration.css file included were we can keep track on those rules and ensure that the old padding and margin values are re-applied after Patternfly 4 is imported. Change-Id: I77b81fa0f97fe718207ba5a506cee300371c693b
* web: add buildset pageTristan Cacqueray2019-08-081-0/+12
| | | | | | | This change adds a new page to display a single buildset with its associated builds. Change-Id: I664d0db06456c906cfabb6a2b1da613d9aebf419
* Fix typosStephen Finucane2019-03-281-2/+2
| | | | | | | Copypasta, I imagine. Change-Id: Id4aea2ea3111e2ee150334dfdeef6b7772b8e22d Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
* web: add buildsets pageTristan Cacqueray2019-02-211-0/+150
This change adds a new page to display a buildsets table similar to the builds page. Change-Id: I795dc47149bfc3e4104183fd1838d5f0b05852c2