|
|
@ -14,16 +14,44 @@ |
|
|
export let donut |
|
|
export let donut |
|
|
export let palette |
|
|
export let palette |
|
|
|
|
|
|
|
|
$: options = setUpChart(dataProvider) |
|
|
$: options = setUpChart( |
|
|
|
|
|
title, |
|
|
|
|
|
dataProvider, |
|
|
|
|
|
labelColumn, |
|
|
|
|
|
valueColumn, |
|
|
|
|
|
height, |
|
|
|
|
|
width, |
|
|
|
|
|
dataLabels, |
|
|
|
|
|
animate, |
|
|
|
|
|
legend, |
|
|
|
|
|
donut, |
|
|
|
|
|
palette |
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
// Fetch data on mount |
|
|
const setUpChart = ( |
|
|
const setUpChart = provider => { |
|
|
title, |
|
|
if (!provider || !provider.rows?.length || !labelColumn || !valueColumn) { |
|
|
dataProvider, |
|
|
|
|
|
labelColumn, |
|
|
|
|
|
valueColumn, |
|
|
|
|
|
height, |
|
|
|
|
|
width, |
|
|
|
|
|
dataLabels, |
|
|
|
|
|
animate, |
|
|
|
|
|
legend, |
|
|
|
|
|
donut, |
|
|
|
|
|
palette |
|
|
|
|
|
) => { |
|
|
|
|
|
if ( |
|
|
|
|
|
!dataProvider || |
|
|
|
|
|
!dataProvider.rows?.length || |
|
|
|
|
|
!labelColumn || |
|
|
|
|
|
!valueColumn |
|
|
|
|
|
) { |
|
|
return null |
|
|
return null |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
// Fetch, filter and sort data |
|
|
// Fetch, filter and sort data |
|
|
const { schema, rows } = provider |
|
|
const { schema, rows } = dataProvider |
|
|
const data = rows |
|
|
const data = rows |
|
|
.filter(row => row[labelColumn] != null && row[valueColumn] != null) |
|
|
.filter(row => row[labelColumn] != null && row[valueColumn] != null) |
|
|
.slice(0, 100) |
|
|
.slice(0, 100) |
|
|
|