gnucash stable: [html-chart] html-chart-set! don't convert list to vector

Christopher Lam clam at code.gnucash.org
Tue Sep 3 19:02:31 EDT 2024


Updated	 via  https://github.com/Gnucash/gnucash/commit/0d6303e5 (commit)
	from  https://github.com/Gnucash/gnucash/commit/4f0862ba (commit)



commit 0d6303e57a1c591a8e8a4cd1e0401f43b1071a5f
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Mon Sep 2 22:33:04 2024 +0800

    [html-chart] html-chart-set! don't convert list to vector

diff --git a/gnucash/report/html-chart.scm b/gnucash/report/html-chart.scm
index 344bc62390..6d549f31aa 100644
--- a/gnucash/report/html-chart.scm
+++ b/gnucash/report/html-chart.scm
@@ -29,6 +29,7 @@
 (use-modules (gnucash core-utils))
 (use-modules (gnucash json builder))            ;for building JSON options
 (use-modules (gnucash report html-utilities))
+(use-modules (gnucash report report-utilities))
 (use-modules (srfi srfi-9))
 (use-modules (ice-9 match))
 
@@ -274,10 +275,10 @@
   (gnc:html-chart-get chart '(options title text)))
 
 (define (gnc:html-chart-set-title! chart title)
-  (gnc:html-chart-set! chart '(options title text) title))
+  (gnc:html-chart-set! chart '(options title text) (list-to-vec title)))
 
 (define (gnc:html-chart-set-data-labels! chart labels)
-  (gnc:html-chart-set! chart '(data labels) labels))
+  (gnc:html-chart-set! chart '(data labels) (list-to-vec labels)))
 
 (define (gnc:html-chart-set-axes-display! chart display?)
   (gnc:html-chart-set! chart '(options scales xAxes (0) display) display?)
@@ -337,9 +338,8 @@
     (nested-alist-get options path)))
 
 (define (gnc:html-chart-set! chart path val)
-  (let ((options (gnc:html-chart-get-options-internal chart))
-        (val-vec (list-to-vec val)))
-    (nested-alist-set! options path val-vec)
+  (let ((options (gnc:html-chart-get-options-internal chart)))
+    (nested-alist-set! options path val)
     (gnc:html-chart-set-options-internal! chart options)))
 
 (define JS-Number-to-String "
diff --git a/gnucash/report/test/test-html-chart.scm b/gnucash/report/test/test-html-chart.scm
index 5c70cd0e98..8372b8ecb4 100644
--- a/gnucash/report/test/test-html-chart.scm
+++ b/gnucash/report/test/test-html-chart.scm
@@ -14,7 +14,10 @@
 
 (define (test-html-chart)
 
-  (let ((chart (gnc:make-html-chart)))
+  (let ((chart (gnc:make-html-chart))
+        (a-list-of-pairs '((unit . day)
+                           (displayFormats (day . "DD-MM-YYYY"))
+                           (tooltipFormat . "DD-MM-YYYY"))))
 
     (gnc:html-chart-add-data-series! chart "label" '(2 3 4) "red")
 
@@ -57,6 +60,16 @@
       'abc
       (gnc:html-chart-get chart '(options maintainAspectRatio)))
 
+    (test-equal "path doesn't exist"
+      #f
+      (gnc:html-chart-get chart '(options scales xAxes (0) time)))
+
+    (gnc:html-chart-set! chart '(options scales xAxes (0) time) a-list-of-pairs)
+
+    (test-equal "path exists and the list-of-pairs is intact"
+      a-list-of-pairs
+      (gnc:html-chart-get chart '(options scales xAxes (0) time)))
+
     (gnc:html-chart-set! chart '(options legend position) 'de)
     (test-equal "1st level option setter & getter"
       'de



Summary of changes:
 gnucash/report/html-chart.scm           | 10 +++++-----
 gnucash/report/test/test-html-chart.scm | 15 ++++++++++++++-
 2 files changed, 19 insertions(+), 6 deletions(-)



More information about the gnucash-changes mailing list