diff --git a/src/Stats.vue b/src/Stats.vue index 9f45f00..053754f 100644 --- a/src/Stats.vue +++ b/src/Stats.vue @@ -333,6 +333,7 @@ :labels="yearsChartData.labels" :ordinate="preferences.ordinate" :abscissa="true" + :unfinished="active.period.end == null" /> { d.backgroundColor = context => { - const chart = context.chart; - const { ctx, chartArea } = chart; + const { ctx, chartArea } = context.chart; if (!chartArea) return null; return transparentGradientBar(ctx, chartArea, d.borderColor, this.horizontal); } diff --git a/src/charts/LineChart.vue b/src/charts/LineChart.vue index 8b03927..cb6f600 100644 --- a/src/charts/LineChart.vue +++ b/src/charts/LineChart.vue @@ -33,6 +33,10 @@ export default { type: Number, default: 2 }, + unfinished: { + type: Boolean, + default: true + }, width: String, height: String, }, @@ -51,16 +55,16 @@ export default { processedDatasets () { let datasets = this.datasets datasets.map(d => { + // gradient for background d.backgroundColor = context => { - const chart = context.chart; - const { ctx, chartArea } = chart; + const { ctx, chartArea } = context.chart; if (!chartArea) return null; return transparentGradientLine(ctx, chartArea, d.borderColor); }; - // TODO: activate if https://github.com/chartjs/Chart.js/issues/9022 is fixed - // d.segment = { - // borderDash: ctx => ctx.p0.parsed.x == d.data.length-2 ? [10, 5] : undefined - // }; + // dashed line for last segment + d.segment = { + borderDash: ctx => this.unfinished && ctx.p0.parsed.x == d.data.length-2 ? [10, 5] : undefined + }; }) return datasets } @@ -92,6 +96,7 @@ export default { scales: { x: { display: this.abscissa, + alignToPixels: true, stacked: false, grid: { display: false,