mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-24 05:06:02 +08:00
Add initial typescript definition file for google.visualization.
This is an initial d.ts for the google.visualization API, and is by no means complete. It contains classes, interfaces, and functions for: 1. Loading visualization packages, and handling package load callbacks. 2. DataTable construction, manipulation, and creation from arrays. 3. Adding event listeners (minimal API, only 1 listener function def). 4. GeoChart construction & drawing. A small tests file has also been added.
This commit is contained in:
41
google.visualization/google.visualization-tests.ts
Normal file
41
google.visualization/google.visualization-tests.ts
Normal file
@@ -0,0 +1,41 @@
|
||||
/// <reference path="google.visualization.d.ts" />
|
||||
|
||||
function test_arrayToDataTable() {
|
||||
var array = [
|
||||
['City', 'Population', 'Area'],
|
||||
['Rome', 2761477, 1285.31],
|
||||
['Milan', 1324110, 181.76],
|
||||
['Naples', 959574, 117.27],
|
||||
['Turin', 907563, 130.17],
|
||||
['Palermo', 655875, 158.9],
|
||||
['Genoa', 607906, 243.60],
|
||||
['Bologna', 380181, 140.7],
|
||||
['Florence', 371282, 102.41],
|
||||
['Fiumicino', 67370, 213.44],
|
||||
['Anzio', 52192, 43.43],
|
||||
['Ciampino', 38262, 11],
|
||||
];
|
||||
|
||||
var dataTable = google.visualization.arrayToDataTable(array);
|
||||
}
|
||||
|
||||
function test_ctorDataTable() {
|
||||
var dataTable = new google.visualization.DataTable();
|
||||
return dataTable;
|
||||
}
|
||||
|
||||
function test_dataTableAddColumn() {
|
||||
var dataTable = test_ctorDataTable();
|
||||
dataTable.addColumn('string', 'First Column');
|
||||
dataTable.addColumn('number', 'Second Column');
|
||||
}
|
||||
|
||||
function test_dataTableAddRow() {
|
||||
var dataTable = test_ctorDataTable();
|
||||
dataTable.addRow(['row1', 6]);
|
||||
dataTable.addRow(['row2', -1]);
|
||||
dataTable.addRow(['row3', 0]);
|
||||
}
|
||||
|
||||
|
||||
|
||||
121
google.visualization/google.visualization.d.ts
vendored
Normal file
121
google.visualization/google.visualization.d.ts
vendored
Normal file
@@ -0,0 +1,121 @@
|
||||
declare module google {
|
||||
|
||||
function load(visualization: string, version: string, packages: any): void;
|
||||
function setOnLoadCallback(handler: Function): void;
|
||||
function setOnLoadCallback(handler: () => void): void;
|
||||
|
||||
module visualization {
|
||||
|
||||
// https://developers.google.com/chart/interactive/docs/reference#DataTable
|
||||
|
||||
export interface DataTableColumnDescription {
|
||||
type?: string;
|
||||
label?: string;
|
||||
id?: string;
|
||||
role?: string;
|
||||
pattern?: string;
|
||||
}
|
||||
|
||||
export interface DataObjectCell {
|
||||
v?: any;
|
||||
f?: string;
|
||||
p?: any;
|
||||
}
|
||||
|
||||
export interface DataObjectColumn {
|
||||
type: string;
|
||||
id?: string;
|
||||
label?: string;
|
||||
pattern?: string;
|
||||
p?: any;
|
||||
}
|
||||
|
||||
export interface DataObjectRow {
|
||||
c: DataObjectCell[];
|
||||
p?: any;
|
||||
}
|
||||
|
||||
export interface DataObject {
|
||||
cols: DataObjectColumn[];
|
||||
rows: DataObjectRow[];
|
||||
p: any;
|
||||
}
|
||||
|
||||
export class DataTable {
|
||||
constructor(data?: any, version?: any);
|
||||
addColumn(type: string, label?: string, id?: string): number;
|
||||
addColumn(descriptionObject: DataTableColumnDescription): number;
|
||||
addRow(cellObject: DataObjectCell): number;
|
||||
addRow(cellArray?: any[]): number;
|
||||
addRows(count: number): number;
|
||||
addRows(array: DataObjectCell[][]): number;
|
||||
addRows(array: any[]): number;
|
||||
}
|
||||
|
||||
function arrayToDataTable(data: any[]): DataTable;
|
||||
|
||||
//https://google-developers.appspot.com/chart/interactive/docs/gallery/geochart
|
||||
export class GeoChart {
|
||||
constructor(element: Element);
|
||||
draw(chart: DataTable, options: GeoChartOptions): void;
|
||||
}
|
||||
export interface GeoChartOptions {
|
||||
backgroundColor?: any;
|
||||
colorAxis?: GeoChartColorAxis;
|
||||
datalessRegionColor?: string;
|
||||
displayMode?: string;
|
||||
enableRegionInteractivity?: boolean;
|
||||
height?: number;
|
||||
keepAspectRatio?: boolean;
|
||||
legend?: GeoChartLegend;
|
||||
region?: string;
|
||||
magnifyingGlass?: GeoChartMagnifyingGlass;
|
||||
markerOpacity?: number;
|
||||
resolution?: string;
|
||||
sizeAxis?: GeoChartAxis;
|
||||
tooltip?: GeoChartTooltip;
|
||||
width?: number;
|
||||
}
|
||||
//export interface GeoChartColor {
|
||||
// fill?: string;
|
||||
// stroke?: string;
|
||||
// strokeWidth: number;
|
||||
//}
|
||||
export interface GeoChartColorAxis extends GeoChartAxis {
|
||||
minValue?: number;
|
||||
maxValue?: number;
|
||||
values?: number[];
|
||||
colors?: string[];
|
||||
}
|
||||
export interface GeoChartTextStyle {
|
||||
color?: string;
|
||||
fontName?: string;
|
||||
fontSize?: number;
|
||||
bold?: boolean;
|
||||
italic?: boolean;
|
||||
}
|
||||
export interface GeoChartLegend {
|
||||
numberFormat?: string;
|
||||
textStyle?: GeoChartTextStyle;
|
||||
}
|
||||
export interface GeoChartMagnifyingGlass {
|
||||
enable?: boolean;
|
||||
zoomFactor?: number;
|
||||
}
|
||||
export interface GeoChartAxis {
|
||||
maxSize?: number;
|
||||
maxValue?: number;
|
||||
minSize?: number;
|
||||
minValue?: number;
|
||||
}
|
||||
export interface GeoChartTooltip {
|
||||
textStyle?: GeoChartTextStyle;
|
||||
trigger?: string;
|
||||
}
|
||||
|
||||
module events {
|
||||
function addListener(chart: any, eventName: string, callback: Function): any;
|
||||
function addListener(chart: any, eventName: string, callback: () => any): any;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user