[html-chart] use vector manipulation

This commit is contained in:
Christopher Lam
2020-10-04 15:26:17 +08:00
parent c587504c58
commit 4ea142c486

View File

@@ -267,12 +267,12 @@
(cons 'backgroundColor (list-to-vec color))
(cons 'borderColor (list-to-vec color)))))
(match rest
(() (gnc:html-chart-set!
chart '(data datasets)
(list->vector
(append (vector->list
(or (gnc:html-chart-get chart '(data datasets)) #()))
(list newseries)))))
(() (let* ((old-vec (gnc:html-chart-get chart '(data datasets)))
(old-len (vector-length old-vec))
(new-vec (make-vector (1+ old-len))))
(vector-move-left! old-vec 0 old-len new-vec 0)
(vector-set! new-vec old-len newseries)
(gnc:html-chart-set! chart '(data datasets) new-vec)))
((key val . rest) (loop rest (assq-set! newseries key (list-to-vec val)))))))
(define-public (gnc:html-chart-clear-data-series! chart)