Current section
Files
Jump to
Current section
Files
lib/live_chart/progress_chart/base_chart_impl.ex
defimpl LiveChart.ProgressChart, for: LiveChart.BaseChart do
alias LiveChart.BaseChart
alias LiveChart.ProgressChart.Dataset
def progress(%BaseChart{dataset: nil}), do: 0
def progress(%BaseChart{dataset: %Dataset{} = dataset}) do
round(100 * dataset.current_value / dataset.to_value)
end
def data(%BaseChart{dataset: nil}), do: %{}
def data(%BaseChart{dataset: dataset}), do: dataset
end
defimpl LiveChart.ProgressChart, for: LiveChart.ProgressChart.Dataset do
alias LiveChart.ProgressChart.Dataset
def data(%Dataset{} = data), do: data
def progress(%Dataset{to_value: to_value, current_value: current_value}) do
round(100 * current_value / to_value)
end
end