From 7aac8a41a297937dc78241f09473c9c3b57f9b47 Mon Sep 17 00:00:00 2001 From: Jihoon Yi Date: Fri, 19 Jan 2018 02:12:36 +0900 Subject: [PATCH] Create update_datasets.go support aggregation chart update. --- update_datasets.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 update_datasets.go diff --git a/update_datasets.go b/update_datasets.go new file mode 100644 index 0000000..a544611 --- /dev/null +++ b/update_datasets.go @@ -0,0 +1,30 @@ +package charts + +import ( + "github.com/cnguy/gopherjs-frappe-charts/utils" + "github.com/gopherjs/gopherjs/js" +) + +// UpdateValuesArgs is a wrapper that contains the two parameters +// that chart.update_values(values, labels) requires. +// https://frappe.github.io/charts/ +// Ctrl + F "update_values" +type UpdateDatasetsArgs struct { + Values [][]*UpdateDataset + Labels []string +} + +// UpdateDataSet represents the JS object frappe-chart uses +// as parameters for chart.update_values(values, labels). +// e.g. { values: [1, 2, 3, 4] } +type UpdateDataSet struct { + *js.Object + Values []interface{} `js:"values"` +} + +// NewUpdateValueSet is a helper to conveniently create an UpdateDataSet. +func NewUpdateDataSet(values []float64) *UpdateDataSet { + new := &UpdateDataSet{Object: js.Global.Get("Object").New()} + new.Values = utils.FloatSliceToInterface(values) + return new +}