From 0d6303e57a1c591a8e8a4cd1e0401f43b1071a5f Mon Sep 17 00:00:00 2001 From: Christopher Lam Date: Mon, 2 Sep 2024 22:33:04 +0800 Subject: [PATCH] [html-chart] html-chart-set! don't convert list to vector --- gnucash/report/html-chart.scm | 10 +++++----- gnucash/report/test/test-html-chart.scm | 15 ++++++++++++++- 2 files changed, 19 insertions(+), 6 deletions(-) diff --git a/gnucash/report/html-chart.scm b/gnucash/report/html-chart.scm index 344bc623905..6d549f31aa5 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 5c70cd0e98d..8372b8ecb4b 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