From 55d3eb755b32b782e731f219383a4c3872bc2913 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Tue, 23 Apr 2019 17:08:27 +0200 Subject: Rewrote fix-event-widths! --- module/html/html.scm | 44 ++++++++++++++++++++++++-------------------- 1 file changed, 24 insertions(+), 20 deletions(-) (limited to 'module/html') diff --git a/module/html/html.scm b/module/html/html.scm index 3546a476..6c77030b 100644 --- a/module/html/html.scm +++ b/module/html/html.scm @@ -5,12 +5,12 @@ #:use-module (vcalendar) #:use-module (vcalendar datetime) #:use-module (util) + #:use-module (util tree) #:use-module (srfi srfi-19) #:use-module (srfi srfi-19 util) ) - (define-stream (group-stream in-stream) (define (ein? day) (lambda (e) (event-in? e (date->time-utc day)))) @@ -34,23 +34,27 @@ (define x-pos (make-object-property)) (define width (make-object-property)) -;; Takes a list of vcomponents. -;;; And makes each sublist have better laid out elements. -;;; It's not perfect if there are many elements that overlap -;;; In different ways. But it works perfectly for a block -;;; schedule! -(define (fix-event-widths! ev-list) - (if (null? ev-list) - #f - (let* ((pred? (lambda (next) - (time? event-length)))) (define (time->decimal-hour time) "This should only be used on time intervals, @@ -75,7 +79,7 @@ never on absolute times. For that see date->decimal-hour" 0) ;; left - (* 100 (width ev) (x-pos ev)) + (* 100 (x-pos ev)) ;; height (* (/ 24) 100 @@ -169,7 +173,7 @@ never on absolute times. For that see date->decimal-hour" (filter-sorted-stream (compose (in-date-range? (d "2019-04-15") - (d "2019-04-22")) + (d "2019-05-10")) car) (group-stream events))))))))) -- cgit v1.2.3