mirror of
https://github.com/chartjs/Chart.js.git
synced 2024-10-06 04:09:08 +02:00
Add a convenience alias for scale options (#8732)
* Add a convenience alias for scale options Closes #8731 * Add an automated test * Use parameter for a more realistic test
This commit is contained in:
parent
21aaa35610
commit
54c5b7a084
3
types/index.esm.d.ts
vendored
3
types/index.esm.d.ts
vendored
@ -3248,6 +3248,9 @@ export type ScaleOptionsByType<TScale extends ScaleType = ScaleType> =
|
||||
{ [key in ScaleType]: { type: key } & ScaleTypeRegistry[key]['options'] }[TScale]
|
||||
;
|
||||
|
||||
// Convenience alias for creating and manipulating scale options in user code
|
||||
export type ScaleOptions<TScale extends ScaleType = ScaleType> = DeepPartial<ScaleOptionsByType<TScale>>;
|
||||
|
||||
export type DatasetChartOptions<TType extends ChartType = ChartType> = {
|
||||
[key in TType]: {
|
||||
datasets: ChartTypeRegistry[key]['datasetOptions'];
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { Chart } from '../../index.esm';
|
||||
import { Chart, ScaleOptions } from '../../index.esm';
|
||||
|
||||
const chart = new Chart('test', {
|
||||
type: 'bar',
|
||||
@ -30,3 +30,29 @@ const chart = new Chart('test', {
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
function makeChartScale(range: number): ScaleOptions<'linear'> {
|
||||
return {
|
||||
type: 'linear',
|
||||
min: 0,
|
||||
suggestedMax: range,
|
||||
};
|
||||
}
|
||||
|
||||
const composedChart = new Chart('test2', {
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: ['a'],
|
||||
datasets: [{
|
||||
data: [1],
|
||||
}, {
|
||||
type: 'line',
|
||||
data: [{ x: 1, y: 1 }]
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
scales: {
|
||||
x: makeChartScale(10)
|
||||
}
|
||||
}
|
||||
});
|
||||
|
Loading…
Reference in New Issue
Block a user