mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Implement chart? flag in reports using chart.js
This commit is contained in:
parent
423a9f17cd
commit
e1ba6030de
@ -491,4 +491,7 @@
|
||||
'report-guid "d5adcc61c62e4b8684dd8907448d7900"
|
||||
'menu-path (list gnc:menuname-example)
|
||||
'options-generator options-generator
|
||||
'renderer renderer)
|
||||
'chart? (lambda (report_obj)
|
||||
(let* ((options (gnc:report-options report_obj)))
|
||||
(gnc-optiondb-lookup-value options gnc:pagename-display "Show plot")))
|
||||
'renderer renderer)
|
@ -301,6 +301,7 @@
|
||||
'menu-name (caddr l)
|
||||
'menu-tip (car (cdddr l))
|
||||
'options-generator (lambda () (options-generator (cadr l)))
|
||||
'chart? #t
|
||||
'renderer (lambda (report-obj)
|
||||
(piechart-renderer report-obj
|
||||
(car l)
|
||||
|
@ -185,5 +185,13 @@
|
||||
;; The options generator function defined above.
|
||||
'options-generator options-generator
|
||||
|
||||
;; A flag that informs the renderer whether or not to include
|
||||
;; the chart.js library in the html header.
|
||||
;; Can be set directly to a #t or #f value or
|
||||
;; if it changes based on report options, it can be set to
|
||||
;; a procedure that will be called with the report object
|
||||
;; to retrieve a #t or #f value
|
||||
'chart? #t
|
||||
|
||||
;; The rendering function defined above.
|
||||
'renderer test-graphing-renderer)
|
||||
|
@ -588,6 +588,7 @@ balance at a given time"))
|
||||
'options-generator (lambda () (options-generator acct-types
|
||||
income-expense?
|
||||
depth-based?))
|
||||
'chart? #t
|
||||
'renderer (lambda (report-obj)
|
||||
(piechart-renderer report-obj name uuid
|
||||
acct-types income-expense? depth-based?
|
||||
|
@ -306,4 +306,5 @@ date point, a projected minimum balance including scheduled transactions."))
|
||||
'report-guid "321d940d487d4ccbb4bd0467ffbadbf2"
|
||||
'menu-path (list gnc:menuname-asset-liability)
|
||||
'options-generator options-generator
|
||||
'chart? #t
|
||||
'renderer document-renderer)
|
||||
|
@ -325,4 +325,5 @@
|
||||
'report-guid "415cd38d39054d9e9c4040455290c2b1"
|
||||
'menu-path (list gnc:menuname-budget)
|
||||
'options-generator (lambda () (options-generator))
|
||||
'chart? #t
|
||||
'renderer (lambda (report-obj) (net-renderer report-obj)))
|
||||
|
@ -351,4 +351,5 @@
|
||||
'menu-tip (N_ "Shows a barchart with cash flow over time")
|
||||
'menu-path (list gnc:menuname-income-expense)
|
||||
'options-generator cashflow-barchart-options-generator
|
||||
'chart? #t
|
||||
'renderer cashflow-barchart-renderer)
|
||||
|
@ -2031,4 +2031,7 @@
|
||||
'report-guid "ab2acc24afd14630a551f98f1a35fa81"
|
||||
'menu-path (list gnc:menuname-asset-liability)
|
||||
'options-generator options-generator
|
||||
'chart? (lambda (report_obj)
|
||||
(let* ((options (gnc:report-options report_obj)))
|
||||
(gnc-optiondb-lookup-value options pagename-chart optname-show-chart)))
|
||||
'renderer investment-lots-renderer)
|
||||
|
@ -472,6 +472,7 @@
|
||||
'report-guid net-worth-barchart-uuid
|
||||
'menu-path (list gnc:menuname-asset-liability)
|
||||
'options-generator (lambda () (options-generator #f #f))
|
||||
'chart? #t
|
||||
'renderer (lambda (report-obj) (net-renderer report-obj #f #f #f))
|
||||
'export-types '(("CSV" . csv))
|
||||
'export-thunk (lambda (report-obj export-type)
|
||||
@ -484,6 +485,7 @@
|
||||
'menu-name (N_ "Income & Expense Barchart")
|
||||
'menu-path (list gnc:menuname-income-expense)
|
||||
'options-generator (lambda () (options-generator #t #f))
|
||||
'chart? #t
|
||||
'renderer (lambda (report-obj) (net-renderer report-obj #t #f #f))
|
||||
'export-types '(("CSV" . csv))
|
||||
'export-thunk (lambda (report-obj export-type)
|
||||
@ -495,6 +497,7 @@
|
||||
'report-guid net-worth-linechart-uuid
|
||||
'menu-path (list gnc:menuname-asset-liability)
|
||||
'options-generator (lambda () (options-generator #f #t))
|
||||
'chart? #t
|
||||
'renderer (lambda (report-obj) (net-renderer report-obj #f #t #f))
|
||||
'export-types '(("CSV" . csv))
|
||||
'export-thunk (lambda (report-obj export-type)
|
||||
@ -509,6 +512,7 @@
|
||||
'menu-name (N_ "Income & Expense Linechart")
|
||||
'menu-path (list gnc:menuname-income-expense)
|
||||
'options-generator (lambda () (options-generator #t #t))
|
||||
'chart? #t
|
||||
'renderer (lambda (report-obj) (net-renderer report-obj #t #t #f))
|
||||
'export-types '(("CSV" . csv))
|
||||
'export-thunk (lambda (report-obj export-type)
|
||||
|
@ -302,4 +302,5 @@ Unfortunately, the plotting tool can't handle that.")))
|
||||
'menu-path (list gnc:menuname-asset-liability)
|
||||
'menu-name (N_ "Price Scatterplot")
|
||||
'options-generator options-generator
|
||||
'chart? #t
|
||||
'renderer renderer)
|
||||
|
@ -29,6 +29,7 @@
|
||||
(define-module (gnucash reports standard view-column))
|
||||
(use-modules (gnucash engine))
|
||||
(use-modules (ice-9 match))
|
||||
(use-modules (srfi srfi-1))
|
||||
(use-modules (gnucash utilities))
|
||||
(use-modules (gnucash core-utils))
|
||||
(use-modules (gnucash app-utils))
|
||||
@ -176,6 +177,14 @@
|
||||
(((child rowspan colspan _) . rest)
|
||||
(loop rest (cons (list child rowspan colspan #f) new-reports)))))))
|
||||
|
||||
(define (include-chart? report)
|
||||
(let* ((options (gnc:report-options report))
|
||||
(reports
|
||||
(gnc-optiondb-lookup-value options "__general" "report-list"))
|
||||
(has-chart? (lambda (child)
|
||||
(gnc:report-chart? (gnc-report-find (car child))))))
|
||||
(any has-chart? reports)))
|
||||
|
||||
;; define the view now.
|
||||
(gnc:define-report
|
||||
'version 1
|
||||
@ -186,4 +195,5 @@
|
||||
'renderer render-view
|
||||
'options-generator make-options
|
||||
'options-cleanup-cb cleanup-options
|
||||
'options-changed-cb options-changed-cb)
|
||||
'options-changed-cb options-changed-cb
|
||||
'chart? include-chart?)
|
||||
|
Loading…
Reference in New Issue
Block a user