From 5c110716cfda6e616a795edd12f2012b132dca9f Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 2 Apr 2017 17:51:12 +0200 Subject: Add a chart on payments by month by categories --- src/client/Chart/Api.elm | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 src/client/Chart/Api.elm (limited to 'src/client/Chart/Api.elm') diff --git a/src/client/Chart/Api.elm b/src/client/Chart/Api.elm new file mode 100644 index 0000000..693f362 --- /dev/null +++ b/src/client/Chart/Api.elm @@ -0,0 +1,41 @@ +module Chart.Api exposing + ( from + , withSize + , withTitle + , withOrdinate + , toHtml + ) + +import Html exposing (Html) +import Svg exposing (..) +import Svg.Attributes exposing (..) + +import Chart.Model as Chart exposing (Chart, Serie, Vec2, View) +import Chart.View as Chart + +from : List String -> List Serie -> Chart +from keys series = + { keys = keys + , series = series + , size = { x = 600, y = 400 } + , title = "" + , scaleColor = "#DDDDDD" + , formatOrdinate = toString + , ordinateLines = 5 + } + +withSize : Vec2 -> Chart -> Chart +withSize size chart = { chart | size = size } + +withTitle : String -> Chart -> Chart +withTitle title chart = { chart | title = title } + +withOrdinate : Int -> (Float -> String) -> Chart -> Chart +withOrdinate lines format chart = + { chart + | formatOrdinate = format + , ordinateLines = lines + } + +toHtml : Chart -> Html msg +toHtml chart = Chart.view chart -- cgit v1.2.3