Fixes for TS0.9.5

This commit is contained in:
Neil Stalker
2013-12-06 22:36:06 +00:00
parent a1bada0ac6
commit d2c9aac1de
6 changed files with 68 additions and 52 deletions

View File

@@ -48,6 +48,10 @@ function testPieChart() {
}
//Example from http://bl.ocks.org/3887051
interface GroupedData {
State: string;
ages: Array<{ name: string; value: number;}>;
}
function groupedBarChart() {
var margin = { top: 20, right: 20, bottom: 30, left: 40 },
width = 960 - margin.left - margin.right,
@@ -79,7 +83,7 @@ function groupedBarChart() {
.append("g")
.attr("transform", "translate(" + margin.left + "," + margin.top + ")");
d3.csv("data.csv", function (error, data) {
d3.csv("data.csv", function (error, data: Array<GroupedData>) {
var ageNames = d3.keys(data[0]).filter(function (key) { return key !== "State"; });
data.forEach(function (d) {
@@ -731,6 +735,11 @@ function chainedTransitions() {
}
//Example from http://bl.ocks.org/mbostock/4062085
interface PyramidData {
people: number;
year: number;
age: number;
}
function populationPyramid() {
var margin = { top: 20, right: 40, bottom: 30, left: 20 },
width = 960 - margin.left - margin.right,
@@ -766,7 +775,7 @@ function populationPyramid() {
.attr("dy", ".71em")
.text(2000);
d3.csv("population.csv", function (error, data) {
d3.csv("population.csv", function (error, data: Array<PyramidData>) {
// Convert strings to numbers.
data.forEach(function (d) {
@@ -1470,8 +1479,8 @@ function streamGraph() {
var n = 20, // number of layers
m = 200, // number of samples per layer
stack = d3.layout.stack().offset("wiggle"),
layers0 = stack(d3.range(n).map(function () { return bumpLayer(m); } )),
layers1 = stack(d3.range(n).map(function () { return bumpLayer(m); } ));
layers0 = stack(d3.range(n).map(function () { return bumpLayer(m); })),
layers1 = stack(d3.range(n).map(function () { return bumpLayer(m); }));
var width = 960,
height = 500;
@@ -1481,16 +1490,16 @@ function streamGraph() {
.range([0, width]);
var y = d3.scale.linear()
.domain([0, d3.max(layers0.concat(layers1), function (layer) { return d3.max(layer, function (d) { return d.y0 + d.y; } ); } )])
.domain([0, d3.max(layers0.concat(layers1), function (layer) { return d3.max(layer, function (d) { return d.y0 + d.y; }); })])
.range([height, 0]);
var color = d3.scale.linear()
.range(["#aad", "#556"]);
var area = d3.svg.area()
.x(function (d) { return x(d.x); } )
.y0(function (d) { return y(d.y0); } )
.y1(function (d) { return y(d.y0 + d.y); } );
.x(function (d) { return x(d.x); })
.y0(function (d) { return y(d.y0); })
.y1(function (d) { return y(d.y0 + d.y); });
var svg = d3.select("body").append("svg")
.attr("width", width)
@@ -1500,7 +1509,7 @@ function streamGraph() {
.data(layers0)
.enter().append("path")
.attr("d", area)
.style("fill", function () { return color(Math.random()); } );
.style("fill", function () { return color(Math.random()); });
function transition() {
d3.selectAll("path")
@@ -1508,14 +1517,14 @@ function streamGraph() {
var d = layers1;
layers1 = layers0;
return layers0 = d;
} )
})
.transition()
.duration(2500)
.attr("d", area);
}
// Inspired by Lee Byron's test data generator.
function bumpLayer(n) {
function bumpLayer(n): Array<{x: number; y: number;y0?:number;}> {
function bump(a) {
var x = 1 / (.1 + Math.random()),
@@ -2123,7 +2132,7 @@ function nestTest () {
entries = d3.nest()
.key(function(d) { return d.foo; })
.rollup(function(values) { return d3.sum(values, function(d) { return d.bar; }); })
.rollup(function(values) { return d3.sum<any>(values, function(d) { return d.bar; }); })
.entries([{foo: 1, bar: 2}, {foo: 1, bar: 0}, {foo: 1, bar: 1}, {foo: 2}]);
entries = d3.nest()

4
d3/d3.d.ts vendored
View File

@@ -200,7 +200,7 @@ declare module D3 {
*
* @param map Array of objects to get the key values from
*/
keys(map: any[]): any[];
keys(map: any): string[];
/**
* List the values of an associative array.
*
@@ -1032,7 +1032,7 @@ declare module D3 {
}
export interface StackLayout {
(layers: any[], index?: number): any[];
<T>(layers: T[], index?: number): T[];
values(accessor?: (d: any) => any): StackLayout;
offset(offset: string): StackLayout;
}

View File

@@ -669,6 +669,13 @@ $('#calendar').fullCalendar({
eventColor: '#378006'
});
interface EventWithDescription extends FullCalendar.EventObject {
description: string;
}
interface JQuery {
qtip: any; // dummy plugin interface
}
$('#calendar').fullCalendar({
events: [
{
@@ -678,7 +685,7 @@ $('#calendar').fullCalendar({
}
// more events here
],
eventRender: function (event, element) {
eventRender: function (event: EventWithDescription, element) {
element.qtip({
content: event.description
});

View File

@@ -69,16 +69,16 @@ declare module FullCalendar {
dayNamesShort?: Array<string>;
weekNumberTitle?: number;
dayClick?: (date: Date, allDay: boolean, jsEvent: Event, view: View) => void;
eventClick?: (event: EventObject, jsEvent: Event, view: View) => any; // return type boolean or void
eventMouseover?: (event: EventObject, jsEvent: Event, view: View) => void;
eventMouseout?: (event: EventObject, jsEvent: Event, view: View) => void;
dayClick?: (date: Date, allDay: boolean, jsEvent: MouseEvent, view: View) => void;
eventClick?: (event: EventObject, jsEvent: MouseEvent, view: View) => any; // return type boolean or void
eventMouseover?: (event: EventObject, jsEvent: MouseEvent, view: View) => void;
eventMouseout?: (event: EventObject, jsEvent: MouseEvent, view: View) => void;
selectable?: any; // Boolean/ViewOptionHash
selectHelper?: any; // Boolean/Function
unselectAuto?: boolean;
unselectCancel?: string;
select?: (startDate: Date, endDate: Date, allDay: boolean, jsEvent: Event, view: View) => void;
select?: (startDate: Date, endDate: Date, allDay: boolean, jsEvent: MouseEvent, view: View) => void;
unselect?: (view: View, jsEvent: Event) => void;
eventSources?: Array<EventSource>;
@@ -103,16 +103,16 @@ declare module FullCalendar {
disableResizing?: boolean;
dragRevertDuration?: number;
dragOpacity?: any; // Float/ViewOptionHash
eventDragStart?: (event: EventObject, jsEvent: Event, ui: any, view: View) => void;
eventDragStop?: (event: EventObject, jsEvent: Event, ui: any, view: View) => void;
eventDragStart?: (event: EventObject, jsEvent: MouseEvent, ui: any, view: View) => void;
eventDragStop?: (event: EventObject, jsEvent: MouseEvent, ui: any, view: View) => void;
eventDrop?: (event: EventObject, dayDelta: number, minuteDelta: number, revertFunc: Function, jsEvent: Event, ui: any, view: View) => void;
eventResizeStart?: (event: EventObject, jsEvent: Event, ui: any, view: View) => void;
eventResizeStop?: (event: EventObject, jsEvent: Event, ui: any, view: View) => void;
eventResizeStart?: (event: EventObject, jsEvent: MouseEvent, ui: any, view: View) => void;
eventResizeStop?: (event: EventObject, jsEvent: MouseEvent, ui: any, view: View) => void;
eventResize?: (event: EventObject, dayDelta: number, minuteDelta: number, revertFunc: Function, jsEvent: Event, ui: any, view: View) => void;
droppable?: boolean;
dropAccept?: any; // String/Function
drop?: (date: Date, allDay: boolean, jsEvent: Event, ui: any) => void;
drop?: (date: Date, allDay: boolean, jsEvent: MouseEvent, ui: any) => void;
}
export interface View {
@@ -194,14 +194,6 @@ declare module FullCalendar {
}
interface JQuery {
/**
* Create calendar object
*/
fullCalendar(options: FullCalendar.Options): JQuery;
/**
* Generic method function
*/
fullCalendar(method: string, arg1: any, arg2: any, arg3: any): void;
/**
* Get/Set option value
*/
@@ -306,6 +298,14 @@ interface JQuery {
* Rerenders all events on the calendar.
*/
fullCalendar(method: 'rerenderEvents'): void;
/**
* Create calendar object
*/
fullCalendar(options: FullCalendar.Options): JQuery;
/**
* Generic method function
*/
fullCalendar(method: string, arg1: any, arg2: any, arg3: any): void;
}
interface JQueryStatic {

View File

@@ -24,8 +24,6 @@ interface SimplePaginationOptions {
interface JQuery {
pagination(options?: SimplePaginationOptions): JQuery;
pagination(method: string): any;
pagination(method: string, value: any): any;
pagination(method: 'selectPage', pageNumber: number): void;
pagination(method: 'prevPage'): void;
pagination(method: 'nextPage'): void;
@@ -36,4 +34,6 @@ interface JQuery {
pagination(method: 'destroy'): void;
pagination(method: 'redraw'): void;
pagination(method: 'updateItems', items: number): void;
pagination(method: string): any;
pagination(method: string, value: any): any;
}

View File

@@ -781,56 +781,55 @@ declare module JQueryUI {
interface JQuery {
accordion(): JQuery;
accordion(methodName: string): JQuery;
accordion(methodName: 'destroy'): void;
accordion(methodName: 'disable'): void;
accordion(methodName: 'enable'): void;
accordion(methodName: 'refresh'): void;
accordion(methodName: 'widget'): JQuery;
accordion(methodName: string): JQuery;
accordion(options: JQueryUI.AccordionOptions): JQuery;
accordion(optionLiteral: string, optionName: string): any;
accordion(optionLiteral: string, options: JQueryUI.AccordionOptions): any;
accordion(optionLiteral: string, optionName: string, optionValue: any): JQuery;
autocomplete(): JQuery;
autocomplete(methodName: string): JQuery;
autocomplete(methodName: 'close'): void;
autocomplete(methodName: 'destroy'): void;
autocomplete(methodName: 'disable'): void;
autocomplete(methodName: 'enable'): void;
autocomplete(methodName: 'search', value?: string): void;
autocomplete(methodName: 'widget'): JQuery;
autocomplete(methodName: string): JQuery;
autocomplete(options: JQueryUI.AutocompleteOptions): JQuery;
autocomplete(optionLiteral: string, optionName: string): any;
autocomplete(optionLiteral: string, options: JQueryUI.AutocompleteOptions): any;
autocomplete(optionLiteral: string, optionName: string, optionValue: any): JQuery;
button(): JQuery;
button(methodName: string): JQuery;
button(methodName: 'destroy'): void;
button(methodName: 'disable'): void;
button(methodName: 'enable'): void;
button(methodName: 'refresh'): void;
button(methodName: 'widget'): JQuery;
button(methodName: string): JQuery;
button(options: JQueryUI.ButtonOptions): JQuery;
button(optionLiteral: string, optionName: string): any;
button(optionLiteral: string, options: JQueryUI.ButtonOptions): any;
button(optionLiteral: string, optionName: string, optionValue: any): JQuery;
buttonset(): JQuery;
buttonset(methodName: string): JQuery;
buttonset(methodName: 'destroy'): void;
buttonset(methodName: 'disable'): void;
buttonset(methodName: 'enable'): void;
buttonset(methodName: 'refresh'): void;
buttonset(methodName: 'widget'): JQuery;
buttonset(methodName: string): JQuery;
buttonset(options: JQueryUI.ButtonOptions): JQuery;
buttonset(optionLiteral: string, optionName: string): any;
buttonset(optionLiteral: string, options: JQueryUI.ButtonOptions): any;
buttonset(optionLiteral: string, optionName: string, optionValue: any): JQuery;
datepicker(): JQuery;
datepicker(methodName: string): JQuery;
datepicker(methodName: 'destroy'): void;
datepicker(methodName: 'dialog', date?: Date, onSelect?: () => void , pos?: any): void;
datepicker(methodName: 'dialog', date?: string, onSelect?: () => void , pos?: any): void;
@@ -842,48 +841,48 @@ interface JQuery {
datepicker(methodName: 'setDate', date: string): void;
datepicker(methodName: 'show'): void;
datepicker(methodName: 'widget'): JQuery;
datepicker(methodName: string): JQuery;
datepicker(options: JQueryUI.DatepickerOptions): JQuery;
datepicker(optionLiteral: string, optionName: string): any;
datepicker(optionLiteral: string, options: JQueryUI.DatepickerOptions): any;
datepicker(optionLiteral: string, optionName: string, optionValue: any): JQuery;
dialog(): JQuery;
dialog(methodName: string): JQuery;
dialog(methodName: 'close'): JQuery;
dialog(methodName: 'destroy'): JQuery;
dialog(methodName: 'isOpen'): boolean;
dialog(methodName: 'moveToTop'): JQuery;
dialog(methodName: 'open'): JQuery;
dialog(methodName: 'widget'): JQuery;
dialog(methodName: string): JQuery;
dialog(options: JQueryUI.DialogOptions): JQuery;
dialog(optionLiteral: string, optionName: string): any;
dialog(optionLiteral: string, options: JQueryUI.DialogOptions): any;
dialog(optionLiteral: string, optionName: string, optionValue: any): JQuery;
draggable(): JQuery;
draggable(methodName: string): JQuery;
draggable(methodName: 'destroy'): void;
draggable(methodName: 'disable'): void;
draggable(methodName: 'enable'): void;
draggable(methodName: 'widget'): JQuery;
draggable(methodName: string): JQuery;
draggable(options: JQueryUI.DraggableOptions): JQuery;
draggable(optionLiteral: string, optionName: string): any;
draggable(optionLiteral: string, options: JQueryUI.DraggableOptions): any;
draggable(optionLiteral: string, optionName: string, optionValue: any): JQuery;
droppable(): JQuery;
droppable(methodName: string): JQuery;
droppable(methodName: 'destroy'): void;
droppable(methodName: 'disable'): void;
droppable(methodName: 'enable'): void;
droppable(methodName: 'widget'): JQuery;
droppable(methodName: string): JQuery;
droppable(options: JQueryUI.DroppableOptions): JQuery;
droppable(optionLiteral: string, optionName: string): any;
droppable(optionLiteral: string, options: JQueryUI.DraggableOptions): any;
droppable(optionLiteral: string, optionName: string, optionValue: any): JQuery;
menu(): JQuery;
menu(methodName: string): JQuery;
menu(methodName: 'blur'): void;
menu(methodName: 'collapse', event?: JQueryEventObject): void;
menu(methodName: 'collapseAll', event?: JQueryEventObject, all?: boolean): void;
@@ -901,13 +900,13 @@ interface JQuery {
menu(methodName: 'refresh'): void;
menu(methodName: 'select', event?: JQueryEventObject): void;
menu(methodName: 'widget'): JQuery;
menu(methodName: string): JQuery;
menu(options: JQueryUI.MenuOptions): JQuery;
menu(optionLiteral: string, optionName: string): any;
menu(optionLiteral: string, options: JQueryUI.MenuOptions): any;
menu(optionLiteral: string, optionName: string, optionValue: any): JQuery;
progressbar(): JQuery;
progressbar(methodName: string): JQuery;
progressbar(methodName: 'destroy'): void;
progressbar(methodName: 'disable'): void;
progressbar(methodName: 'enable'): void;
@@ -916,35 +915,35 @@ interface JQuery {
progressbar(methodName: 'value', value: number): void;
progressbar(methodName: 'value', value: boolean): void;
progressbar(methodName: 'widget'): JQuery;
progressbar(methodName: string): JQuery;
progressbar(options: JQueryUI.ProgressbarOptions): JQuery;
progressbar(optionLiteral: string, optionName: string): any;
progressbar(optionLiteral: string, options: JQueryUI.ProgressbarOptions): any;
progressbar(optionLiteral: string, optionName: string, optionValue: any): JQuery;
resizable(): JQuery;
resizable(methodName: string): JQuery;
resizable(methodName: 'destroy'): void;
resizable(methodName: 'disable'): void;
resizable(methodName: 'enable'): void;
resizable(methodName: 'widget'): JQuery;
resizable(methodName: string): JQuery;
resizable(options: JQueryUI.ResizableOptions): JQuery;
resizable(optionLiteral: string, optionName: string): any;
resizable(optionLiteral: string, options: JQueryUI.ResizableOptions): any;
resizable(optionLiteral: string, optionName: string, optionValue: any): JQuery;
selectable(): JQuery;
selectable(methodName: string): JQuery;
selectable(methodName: 'destroy'): void;
selectable(methodName: 'disable'): void;
selectable(methodName: 'enable'): void;
selectable(methodName: 'widget'): JQuery;
selectable(methodName: string): JQuery;
selectable(options: JQueryUI.SelectableOptions): JQuery;
selectable(optionLiteral: string, optionName: string): any;
selectable(optionLiteral: string, options: JQueryUI.SelectableOptions): any;
selectable(optionLiteral: string, optionName: string, optionValue: any): JQuery;
slider(): JQuery;
slider(methodName: string): JQuery;
slider(methodName: 'destroy'): void;
slider(methodName: 'disable'): void;
slider(methodName: 'enable'): void;
@@ -958,24 +957,24 @@ interface JQuery {
slider(methodName: string, values: Array<number>): void;
slider(methodName: 'values', values: Array<number>): void;
slider(methodName: 'widget'): JQuery;
slider(methodName: string): JQuery;
slider(options: JQueryUI.SliderOptions): JQuery;
slider(optionLiteral: string, optionName: string): any;
slider(optionLiteral: string, options: JQueryUI.SliderOptions): any;
slider(optionLiteral: string, optionName: string, optionValue: any): JQuery;
sortable(): JQuery;
sortable(methodName: string): JQuery;
sortable(methodName: 'destroy'): void;
sortable(methodName: 'disable'): void;
sortable(methodName: 'enable'): void;
sortable(methodName: 'widget'): JQuery;
sortable(methodName: string): JQuery;
sortable(options: JQueryUI.SortableOptions): JQuery;
sortable(optionLiteral: string, optionName: string): any;
sortable(optionLiteral: string, options: JQueryUI.SortableOptions): any;
sortable(optionLiteral: string, optionName: string, optionValue: any): JQuery;
spinner(): JQuery;
spinner(methodName: string): JQuery;
spinner(methodName: 'destroy'): void;
spinner(methodName: 'disable'): void;
spinner(methodName: 'enable'): void;
@@ -986,32 +985,33 @@ interface JQuery {
spinner(methodName: 'value'): number;
spinner(methodName: 'value', value: number): void;
spinner(methodName: 'widget'): JQuery;
spinner(methodName: string): JQuery;
spinner(options: JQueryUI.SpinnerOptions): JQuery;
spinner(optionLiteral: string, optionName: string): any;
spinner(optionLiteral: string, options: JQueryUI.SpinnerOptions): any;
spinner(optionLiteral: string, optionName: string, optionValue: any): JQuery;
tabs(): JQuery;
tabs(methodName: string): JQuery;
tabs(methodName: 'destroy'): void;
tabs(methodName: 'disable'): void;
tabs(methodName: 'enable'): void;
tabs(methodName: 'load', index: number): void;
tabs(methodName: 'refresh'): void;
tabs(methodName: 'widget'): JQuery;
tabs(methodName: string): JQuery;
tabs(options: JQueryUI.TabsOptions): JQuery;
tabs(optionLiteral: string, optionName: string): any;
tabs(optionLiteral: string, options: JQueryUI.TabsOptions): any;
tabs(optionLiteral: string, optionName: string, optionValue: any): JQuery;
tooltip(): JQuery;
tooltip(methodName: string): JQuery;
tooltip(methodName: 'destroy'): void;
tooltip(methodName: 'disable'): void;
tooltip(methodName: 'enable'): void;
tooltip(methodName: 'open'): void;
tooltip(methodName: 'close'): void;
tooltip(methodName: 'widget'): JQuery;
tooltip(methodName: string): JQuery;
tooltip(options: JQueryUI.TooltipOptions): JQuery;
tooltip(optionLiteral: string, optionName: string): any;
tooltip(optionLiteral: string, options: JQueryUI.TooltipOptions): any;