Add new filters UI and barebones viewTest.php replacement#2439
Merged
williamjallen merged 15 commits intoKitware:masterfrom Sep 23, 2024
Merged
Add new filters UI and barebones viewTest.php replacement#2439williamjallen merged 15 commits intoKitware:masterfrom
williamjallen merged 15 commits intoKitware:masterfrom
Conversation
josephsnyder
requested changes
Sep 17, 2024
Adds the class cdash-link to every link in cdash, regardless of whether the value is overwritten by other CSS.
c8f8ae4 to
62985a9
Compare
josephsnyder
approved these changes
Sep 23, 2024
Member
josephsnyder
left a comment
There was a problem hiding this comment.
Looks much better. I can't get myself to that error state that I was in before. Still passes and searches look good in this narrow focus. LGTM!
github-merge-queue bot
pushed a commit
that referenced
this pull request
Oct 9, 2024
#2439 introduced a new tests page which will eventually supersede `viewTest.php`. This PR adds the time and details columns displayed on viewTest.php to the new tests page. As part of this work, test details and running time are now available via the GraphQL API. 
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The current filters interface is written in AngularJS, and the backend for the filters interface currently suffers from a variety of performance, security, and maintainability issues. The new GraphQL API was designed to replace the legacy JSON API, including the existing filtering logic. This PR introduces a new filters interface which uses GraphQL introspection to automatically determine the available fields, operators, and enum values (if applicable) for a given filter type. Since the filters interface accepts an initial set of GraphQL filters and returns modified GraphQL filters, it's completely reusable and straightforward to add to new pages. This PR is also the first time DaisyUI has been used for a page in CDash.
To provide a basic use case for the new filters component, I created a skeleton replacement for viewTest.php which displays test names and statuses via a paginated GraphQL query. This page should appear to load much faster than the existing viewTest.php due to the pagination.
Although this PR introduces a significant amount of new functionality, there is still much more to do, including:
cdash-linkCSS class was needed in this PR to prevent conflicts between DaisyUI and existing CDash CSS code. This work should be continued to reduce the number of conflicts between DaisyUI and CDash CSS.