Add tsd for ion.rangeSlider 2.0.1

Add the typing and test files for ion.rangeSlider version 2.0.1
This commit is contained in:
sixinli
2014-12-01 16:47:03 -05:00
committed by Sixin Li
parent 2544abac24
commit 4e36e715e2
4 changed files with 173 additions and 40 deletions
@@ -0,0 +1,38 @@
/// <reference path="../jquery/jquery.d.ts"/>
/// <reference path="ion.rangeSlider-1.9.1.d.ts"/>
var sliderInputElement = $('<input />');
sliderInputElement.ionRangeSlider({
min: 10,
max: 100,
from: 30,
to: 80,
type: "single",
step: 10,
prefix: "$",
postfix: ".00",
maxPostfix: "+",
hasGrid: true,
hideMinMax: true,
hideFromTo: true,
prettify: true,
disable: false,
values: ["a", "b", "c"],
onLoad: function (obj) {
console.log(obj);
},
onChange: function (obj) {
console.log(obj);
},
onFinish: function (obj) {
console.log(obj);
}
});
sliderInputElement.ionRangeSlider("update", {
min: 20,
max: 90,
from: 40,
to: 70,
step: 5
});
sliderInputElement.ionRangeSlider("remove");
+51
View File
@@ -0,0 +1,51 @@
// Type definitions for for Ion.RangeSlider 1.9.1
// Project: https://github.com/IonDen/ion.rangeSlider/
// Definitions by: Douglas Eichelberger <https://github.com/dduugg>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
// API documentation: http://ionden.com/a/plugins/ion.rangeSlider/en.html
interface JQuery {
ionRangeSlider(): JQuery;
ionRangeSlider(options: IonRangeSliderOptions): JQuery;
ionRangeSlider(method: string): JQuery;
ionRangeSlider(method: string, options: IonRangeSliderOptions): JQuery;
}
interface IonRangeSliderOptions {
disable?: boolean;
from?: number;
hasGrid?: boolean;
hideFromTo?: boolean;
hideMinMax?: boolean;
max?: number;
maxPostfix?: string;
min?: number;
onChange?: (obj: IonRangeSliderEvent) => void;
onFinish?: (obj: IonRangeSliderEvent) => void;
onLoad?: (obj: IonRangeSliderEvent) => void;
postfix?: string;
prefix?: string;
prettify?: boolean;
step?: number;
to?: number;
type?: string;
values?: any[];
}
interface IonRangeSliderEvent {
fromNumber: number;
fromPers: number;
fromValue?: any;
fromX: number;
fromX_pure?: number;
input: JQuery;
max: number;
min: number;
slider: JQuery;
toNumber: number;
toPers: number;
toValue?: number;
toX: number;
toX_pure?: number;
}
+46 -20
View File
@@ -3,36 +3,62 @@
var sliderInputElement = $('<input />');
sliderInputElement.ionRangeSlider({
min: 10,
max: 100,
from: 30,
to: 80,
type: "single",
step: 10,
prefix: "$",
postfix: ".00",
maxPostfix: "+",
hasGrid: true,
hideMinMax: true,
hideFromTo: true,
prettify: true,
decorate_both: true,
disable: false,
values: ["a", "b", "c"],
onLoad: function (obj) {
console.log(obj);
},
force_edges: false,
from: 30,
from_fixed: false,
from_max: 50,
from_min: 20,
from_shadow: false,
grid: true,
grid_margin: true,
grid_num: 4,
grid_snap: false,
hide_from_to: false,
hide_min_max: false,
keyboard: true,
keyboard_step: 1,
max: 100,
max_interval: 5,
max_postfix: "+",
min: 10,
min_interval: 5,
onChange: function (obj) {
console.log(obj);
},
onFinish: function (obj) {
console.log(obj);
}
},
onStart: function (obj) {
console.log(obj);
},
onUpdate: function (obj) {
console.log(obj);
},
postfix: ".00",
prefix: "$",
prettify: function(num) {
return String(num);
},
prettify_enabled: true,
prettify_separator: ",",
step: 10,
to: 80,
to_fixed: false,
to_max: 100,
to_min: 60,
to_shadowed: false,
type: "double",
values: ["a", "b", "c"],
values_separator: ","
});
sliderInputElement.ionRangeSlider("update", {
sliderInputElement.update({
min: 20,
max: 90,
from: 40,
to: 70,
step: 5
});
sliderInputElement.ionRangeSlider("remove");
sliderInputElement.reset();
sliderInputElement.destroy();
+38 -20
View File
@@ -1,51 +1,69 @@
// Type definitions for for Ion.RangeSlider 1.9.1
// Type definitions for for Ion.RangeSlider 2.0.1
// Project: https://github.com/IonDen/ion.rangeSlider/
// Definitions by: Douglas Eichelberger <https://github.com/dduugg>
// Definitions by: Sixin Li <https://github.com/sixinli>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
// API documentation: http://ionden.com/a/plugins/ion.rangeSlider/en.html
interface JQuery {
destroy(): void;
ionRangeSlider(): JQuery;
ionRangeSlider(options: IonRangeSliderOptions): JQuery;
ionRangeSlider(method: string): JQuery;
ionRangeSlider(method: string, options: IonRangeSliderOptions): JQuery;
reset(): void;
update(option: IonRangeSliderOptions): void;
}
interface IonRangeSliderOptions {
decorate_both?: boolean
disable?: boolean;
force_edges?: boolean;
from?: number;
hasGrid?: boolean;
hideFromTo?: boolean;
hideMinMax?: boolean;
from_fixed?: boolean;
from_max?: number;
from_min?: number;
from_shadow?: boolean;
grid?: boolean;
grid_margin?: boolean;
grid_num?: number;
grid_snap?: boolean;
hide_from_to?: boolean;
hide_min_max?: boolean;
keyboard?: boolean;
keyboard_step?: number;
max?: number;
maxPostfix?: string;
max_interval?: number;
max_postfix?: string;
min?: number;
min_interval?: number;
onChange?: (obj: IonRangeSliderEvent) => void;
onFinish?: (obj: IonRangeSliderEvent) => void;
onLoad?: (obj: IonRangeSliderEvent) => void;
onStart?: (obj: IonRangeSliderEvent) => void;
onUpdate?: (obj: IonRangeSliderEvent) => void;
postfix?: string;
prefix?: string;
prettify?: boolean;
prettify?: (num: number) => string;
prettify_enabled?: boolean;
prettify_separator?: string;
step?: number;
to?: number;
to_fixed?: boolean;
to_max?: number;
to_min?: number;
to_shadowed?: boolean;
type?: string;
values?: any[];
values_separator?: string;
}
interface IonRangeSliderEvent {
fromNumber: number;
fromPers: number;
fromValue?: any;
fromX: number;
fromX_pure?: number;
from: number;
from_precent: number;
from_value: any;
input: JQuery;
max: number;
min: number;
slider: JQuery;
toNumber: number;
toPers: number;
toValue?: number;
toX: number;
toX_pure?: number;
to: number;
to_precent: number;
to_value: any;
}