mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-29 17:07:07 +08:00
Merge pull request #26513 from alexdor/master
[chart.js] Add getDatasetMeta fucntion to chart
This commit is contained in:
@@ -1,18 +1,18 @@
|
||||
import { Chart, ChartData, Point } from 'chart.js';
|
||||
import { Chart, ChartData, Point } from "chart.js";
|
||||
|
||||
// alternative:
|
||||
// import chartjs = require('chart.js');
|
||||
// => chartjs.Chart
|
||||
|
||||
const chart: Chart = new Chart(new CanvasRenderingContext2D(), {
|
||||
type: 'bar',
|
||||
type: "bar",
|
||||
data: {
|
||||
labels: ['group 1'],
|
||||
labels: ["group 1"],
|
||||
datasets: [
|
||||
{
|
||||
backgroundColor: '#000000',
|
||||
backgroundColor: "#000000",
|
||||
borderWidth: 1,
|
||||
label: 'test',
|
||||
label: "test",
|
||||
data: [1]
|
||||
}
|
||||
]
|
||||
@@ -22,7 +22,7 @@ const chart: Chart = new Chart(new CanvasRenderingContext2D(), {
|
||||
intersect: true
|
||||
},
|
||||
onHover(ev: MouseEvent, points: any[]) {
|
||||
return;
|
||||
return;
|
||||
},
|
||||
title: {
|
||||
text: ["foo", "bar"]
|
||||
@@ -35,21 +35,23 @@ const chart: Chart = new Chart(new CanvasRenderingContext2D(), {
|
||||
caretPadding: 2,
|
||||
displayColors: true,
|
||||
borderColor: "rgba(0,0,0,0)",
|
||||
borderWidth: 1,
|
||||
borderWidth: 1
|
||||
},
|
||||
scales: {
|
||||
xAxes: [{
|
||||
ticks: {
|
||||
callback: Math.floor
|
||||
},
|
||||
gridLines: {
|
||||
display: false,
|
||||
borderDash: [5, 15],
|
||||
borderDashOffset: 2,
|
||||
zeroLineBorderDash: [5, 15],
|
||||
zeroLineBorderDashOffset: 2
|
||||
xAxes: [
|
||||
{
|
||||
ticks: {
|
||||
callback: Math.floor
|
||||
},
|
||||
gridLines: {
|
||||
display: false,
|
||||
borderDash: [5, 15],
|
||||
borderDashOffset: 2,
|
||||
zeroLineBorderDash: [5, 15],
|
||||
zeroLineBorderDashOffset: 2
|
||||
}
|
||||
}
|
||||
}]
|
||||
]
|
||||
},
|
||||
legend: {
|
||||
display: true,
|
||||
@@ -58,11 +60,13 @@ const chart: Chart = new Chart(new CanvasRenderingContext2D(), {
|
||||
padding: 40
|
||||
}
|
||||
},
|
||||
devicePixelRatio: 2,
|
||||
devicePixelRatio: 2
|
||||
}
|
||||
});
|
||||
chart.update();
|
||||
|
||||
console.log(chart.getDatasetMeta(0));
|
||||
|
||||
console.log(chart.ctx && chart.ctx.font);
|
||||
console.log(chart.canvas && chart.canvas.tagName);
|
||||
if (chart.chartArea) {
|
||||
|
||||
62
types/chart.js/index.d.ts
vendored
62
types/chart.js/index.d.ts
vendored
@@ -13,6 +13,7 @@
|
||||
// Ken Elkabany <https://github.com/braincore>
|
||||
// Slavik Nychkalo <https://github.com/gebeto>
|
||||
// Francesco Benedetto <https://github.com/frabnt>
|
||||
// Alexandros Dorodoulis <https://github.com/alexdor>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.3
|
||||
|
||||
@@ -35,8 +36,9 @@ declare class Chart {
|
||||
getElementAtEvent: (e: any) => {};
|
||||
getElementsAtEvent: (e: any) => Array<{}>;
|
||||
getDatasetAtEvent: (e: any) => Array<{}>;
|
||||
ctx: CanvasRenderingContext2D|null;
|
||||
canvas: HTMLCanvasElement|null;
|
||||
getDatasetMeta: (index: number) => Meta;
|
||||
ctx: CanvasRenderingContext2D | null;
|
||||
canvas: HTMLCanvasElement | null;
|
||||
chartArea: Chart.ChartArea;
|
||||
static pluginService: PluginServiceStatic;
|
||||
static plugins: PluginServiceStatic;
|
||||
@@ -100,6 +102,48 @@ interface Size {
|
||||
width: number;
|
||||
}
|
||||
|
||||
interface Meta {
|
||||
type: Chart.ChartType;
|
||||
data: MetaData[];
|
||||
dataset?: Chart.ChartDataSets;
|
||||
controller: { [key: string]: any; };
|
||||
hidden?: boolean;
|
||||
total?: string;
|
||||
xAxisID?: string;
|
||||
yAxisID?: string;
|
||||
"$filler"?: { [key: string]: any; };
|
||||
}
|
||||
|
||||
interface MetaData {
|
||||
_chart: Chart;
|
||||
_datasetIndex: number;
|
||||
_index: number;
|
||||
_model: Model;
|
||||
_start?: any;
|
||||
_view: Model;
|
||||
_xScale: Chart.ChartScales;
|
||||
_yScale: Chart.ChartScales;
|
||||
hidden?: boolean;
|
||||
}
|
||||
|
||||
interface Model {
|
||||
backgroundColor: string;
|
||||
borderColor: string;
|
||||
borderWidth?: number;
|
||||
controlPointNextX: number;
|
||||
controlPointNextY: number;
|
||||
controlPointPreviousX: number;
|
||||
controlPointPreviousY: number;
|
||||
hitRadius: number;
|
||||
pointStyle: string;
|
||||
radius: string;
|
||||
skip?: boolean;
|
||||
steppedLine?: undefined;
|
||||
tension: number;
|
||||
x: number;
|
||||
y: number;
|
||||
}
|
||||
|
||||
declare namespace Chart {
|
||||
type ChartType = 'line' | 'bar' | 'horizontalBar' | 'radar' | 'doughnut' | 'polarArea' | 'bubble' | 'pie';
|
||||
|
||||
@@ -298,7 +342,7 @@ declare namespace Chart {
|
||||
}
|
||||
|
||||
interface ChartTooltipsStaticConfiguration {
|
||||
positioners: {[mode: string]: ChartTooltipPositioner};
|
||||
positioners: { [mode: string]: ChartTooltipPositioner };
|
||||
}
|
||||
|
||||
type ChartTooltipPositioner = (elements: any[], eventPosition: Point) => Point;
|
||||
@@ -372,14 +416,14 @@ declare namespace Chart {
|
||||
}
|
||||
|
||||
interface ChartLayoutOptions {
|
||||
padding?: ChartLayoutPaddingObject | number;
|
||||
padding?: ChartLayoutPaddingObject | number;
|
||||
}
|
||||
|
||||
interface ChartLayoutPaddingObject {
|
||||
top?: number;
|
||||
right?: number;
|
||||
bottom?: number;
|
||||
left?: number;
|
||||
top?: number;
|
||||
right?: number;
|
||||
bottom?: number;
|
||||
left?: number;
|
||||
}
|
||||
|
||||
interface GridLineOptions {
|
||||
@@ -415,7 +459,7 @@ declare namespace Chart {
|
||||
backdropPaddingX?: number;
|
||||
backdropPaddingY?: number;
|
||||
beginAtZero?: boolean;
|
||||
callback?(value: any, index: any, values: any): string|number;
|
||||
callback?(value: any, index: any, values: any): string | number;
|
||||
display?: boolean;
|
||||
fontColor?: ChartColor;
|
||||
fontFamily?: string;
|
||||
|
||||
Reference in New Issue
Block a user