diff options
author | Christopher Baines <mail@cbaines.net> | 2020-07-03 20:33:16 +0100 |
---|---|---|
committer | Christopher Baines <mail@cbaines.net> | 2020-07-03 20:33:16 +0100 |
commit | 4b1dc76f186439cbc2b2c8d8238814b242b68417 (patch) | |
tree | 49a3b0ae4cdc1f82f47349a43b529f27587c689e /guix-data-service/web/revision | |
parent | 69d3c83986233daa7bab7beb382a79274f9fe7af (diff) | |
download | data-service-4b1dc76f186439cbc2b2c8d8238814b242b68417.tar data-service-4b1dc76f186439cbc2b2c8d8238814b242b68417.tar.gz |
Improve the revision builds page
Allow specifying how many results to show, and say how many results are being
shown.
Diffstat (limited to 'guix-data-service/web/revision')
-rw-r--r-- | guix-data-service/web/revision/controller.scm | 22 | ||||
-rw-r--r-- | guix-data-service/web/revision/html.scm | 8 |
2 files changed, 23 insertions, 7 deletions
diff --git a/guix-data-service/web/revision/controller.scm b/guix-data-service/web/revision/controller.scm index 5ef3451..ceb8d1d 100644 --- a/guix-data-service/web/revision/controller.scm +++ b/guix-data-service/web/revision/controller.scm @@ -282,12 +282,18 @@ (('GET "revision" commit-hash "builds") (if (guix-commit-exists? conn commit-hash) (let ((parsed-query-parameters - (parse-query-parameters - request - `((build_status ,parse-build-status #:multi-value) - (build_server ,(parse-build-server conn) #:multi-value) - (system ,parse-system #:default "x86_64-linux") - (target ,parse-target #:default ""))))) + (guard-against-mutually-exclusive-query-parameters + (parse-query-parameters + request + `((build_status ,parse-build-status #:multi-value) + (build_server ,(parse-build-server conn) #:multi-value) + (system ,parse-system #:default "x86_64-linux") + (target ,parse-target #:default "") + (limit_results ,parse-result-limit + #:no-default-when (all_results) + #:default 50) + (all_results ,parse-checkbox-value))) + '((limit_results all_results))))) (render-revision-builds mime-types conn @@ -1057,7 +1063,9 @@ 'build_server) #:revision-commit commit-hash #:system system - #:target target)))))) + #:target target + #:limit (assq-ref query-parameters + 'limit_results))))))) (define* (render-revision-lint-warnings mime-types conn diff --git a/guix-data-service/web/revision/html.scm b/guix-data-service/web/revision/html.scm index 6aa3218..543fba8 100644 --- a/guix-data-service/web/revision/html.scm +++ b/guix-data-service/web/revision/html.scm @@ -1908,6 +1908,13 @@ figure { #:allow-selecting-multiple-options #f #:help-text "Only include derivations that are build for this system." #:font-family "monospace") + ,(form-horizontal-control + "Limit results" query-parameters + #:help-text "The maximum number of results to return.") + ,(form-horizontal-control + "All results" query-parameters + #:type "checkbox" + #:help-text "Return all results") (div (@ (class "form-group form-group-lg")) (div (@ (class "col-sm-offset-2 col-sm-10")) (button (@ (type "submit") @@ -1915,6 +1922,7 @@ figure { "Update results"))))))) (div (@ (class "row")) + (p "Showing " ,(length builds) " results") (div (@ (class "col-sm-12")) (table |