Add some bars to the table on the branch package versions page

To provide a more visual view of when the package versions were available.
This commit is contained in:
Christopher Baines 2019-09-27 17:29:33 +01:00
parent 59c342ffde
commit 00ac080297

View file

@ -1122,35 +1122,87 @@
(th (@ (class "col-sm-4")) "From") (th (@ (class "col-sm-4")) "From")
(th (@ (class "col-sm-4")) "To"))) (th (@ (class "col-sm-4")) "To")))
(tbody (tbody
,@(map ,@(let* ((times-in-seconds
(match-lambda (map (lambda (d)
((package-version first-guix-revision-commit (time-second
first-datetime (date->time-monotonic
last-guix-revision-commit (string->date d "~Y-~m-~d ~H:~M:~S"))))
last-datetime) (append (map third versions-by-revision-range)
`(tr (map fifth versions-by-revision-range))))
(td ,package-version) (earliest-date-seconds
(td (a (@ (href ,(string-append (apply min
"/revision/" first-guix-revision-commit))) times-in-seconds))
,first-datetime) (latest-date-seconds
(br) (apply max
(a (@ (href ,(string-append times-in-seconds))
"/revision/" (min-to-max-seconds
first-guix-revision-commit (- latest-date-seconds
"/package/" earliest-date-seconds)))
package-name "/" package-version))) (map
"(More information)")) (match-lambda
(td (a (@ (href ,(string-append ((package-version first-guix-revision-commit
"/revision/" last-guix-revision-commit))) first-datetime
,last-datetime) last-guix-revision-commit
(br) last-datetime)
(a (@ (href ,(string-append `((tr
"/revision/" (@ (style "border-bottom: 0;"))
last-guix-revision-commit (td ,package-version)
"/package/" (td (a (@ (href ,(string-append
package-name "/" package-version))) "/revision/" first-guix-revision-commit)))
"(More information)"))))) ,first-datetime)
versions-by-revision-range))))))))) (br)
(a (@ (href ,(string-append
"/revision/"
first-guix-revision-commit
"/package/"
package-name "/" package-version)))
"(More information)"))
(td (a (@ (href ,(string-append
"/revision/" last-guix-revision-commit)))
,last-datetime)
(br)
(a (@ (href ,(string-append
"/revision/"
last-guix-revision-commit
"/package/"
package-name "/" package-version)))
"(More information)")))
(tr
(td
(@ (colspan 3)
(style "border-top: 0; padding-top: 0;"))
(div
(@
(style
,(let* ((start-seconds
(time-second
(date->time-monotonic
(string->date first-datetime
"~Y-~m-~d ~H:~M:~S"))))
(end-seconds
(time-second
(date->time-monotonic
(string->date last-datetime
"~Y-~m-~d ~H:~M:~S"))))
(margin-left
(min
(* (/ (- start-seconds earliest-date-seconds)
min-to-max-seconds)
100)
98))
(width
(max
(- (* (/ (- end-seconds earliest-date-seconds)
min-to-max-seconds)
100)
margin-left)
2)))
(simple-format
#f
"margin-left: ~A%; width: ~A%; height: 10px; background: #DCDCDC;"
(rationalize margin-left 1)
(rationalize width 1)))))))))))
versions-by-revision-range))))))))))
(define (view-builds stats builds) (define (view-builds stats builds)
(layout (layout