diff options
Diffstat (limited to 'src/client/Chart/Api.elm')
-rw-r--r-- | src/client/Chart/Api.elm | 41 |
1 files changed, 41 insertions, 0 deletions
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 |