TypeScript definitions for jQRangeSlider

This commit is contained in:
Daniel Tar
2013-01-20 13:28:39 +01:00
parent 807b738671
commit 81fc354dff
2 changed files with 231 additions and 0 deletions

View File

@@ -0,0 +1,157 @@
/// <reference path="../jquery/jquery.d.ts"/>
/// <reference path="jqrangeslider.d.ts"/>
// Arrows
$("#arrowsExample").rangeSlider({ arrows: false });
$("#arrowsExample").editRangeSlider({ arrows: false });
$("#arrowsExample").dateRangeSlider({ arrows: false });
// Bounds
$("#boundsExample").rangeSlider({ bounds: { min: 10, max: 90 } });
$("#boundsExample").editRangeSlider({ bounds: { min: 10, max: 90 } });
$("#boundsExample").dateRangeSlider({
bounds: {
min: new Date(2012, 0, 1),
max: new Date(2012, 11, 31)
}
});
// Default values
$("#defaultValuesExample").rangeSlider({ defaultValues: { min: 10, max: 90 } });
$("#defaultValuesExample").editRangeSlider({ defaultValues: { min: 10, max: 90 } });
$("#defaultValuesExample").dateRangeSlider({
defaultValues: {
min: new Date(2012, 0, 1),
max: new Date(2012, 11, 31)
}
});
// Delay out
$("#delayExample").rangeSlider({
valueLabels: "change",
delayOut: 4000
});
$("#delayExample").editRangeSlider({
valueLabels: "change",
delayOut: 4000
});
$("#delayExample").dateRangeSlider({
valueLabels: "change",
delayOut: 4000
});
// Duration in/out
$("#durationExample").rangeSlider({
valueLabels: "change",
durationIn: 1000,
durationOut: 1000
});
$("#defaultValuesExample").editRangeSlider({
valueLabels: "change",
durationIn: 1000,
durationOut: 1000
});
$("#defaultValuesExample").dateRangeSlider({
valueLabels: "change",
durationIn: 1000,
durationOut: 1000
});
// Formatter - JS-way
$("#formatterExample").rangeSlider({
formatter: function (val) {
var value = Math.round(val * 5) / 5,
decimal = value - Math.round(val);
return decimal == 0 ? value.toString() + ".0" : value.toString();
}
});
$("#formatterExample").editRangeSlider({
formatter: function (val) {
var value = Math.round(val * 5) / 5,
decimal = value - Math.round(val);
return decimal == 0 ? value.toString() + ".0" : value.toString();
}
});
$("#formatterExample").dateRangeSlider({
formatter: function (val) {
var days = val.getDay(),
month = val.getMonth() + 1,
year = val.getYear();
return days + "/" + month + "/" + year;
}
});
// Formatter - TS-way
$("#formatterExample").rangeSlider({
formatter: (val: number) => {
var value = Math.round(val * 5) / 5,
decimal = value - Math.round(val);
return decimal == 0 ? value.toString() + ".0" : value.toString();
}
});
$("#formatterExample").editRangeSlider({
formatter: (val: number) => {
var value = Math.round(val * 5) / 5,
decimal = value - Math.round(val);
return decimal == 0 ? value.toString() + ".0" : value.toString();
}
});
$("#formatterExample").dateRangeSlider({
formatter: (val: Date) => {
var days = val.getDay(),
month = val.getMonth() + 1,
year = val.getYear();
return days + "/" + month + "/" + year;
}
});
// Range
$("#rangeExample").rangeSlider({range: {min: 10, max: 40}});
$("#rangeExample").editRangeSlider({range: {min: 10, max: 40}});
$("#rangeExample").dateRangeSlider({
range: {
min: { days: 2 },
max: { days: 7 }
}
});
$("#rangeExample").rangeSlider({range: {min: 10}});
$("#rangeExample").rangeSlider({range: {min: 10, max: false}});
$("#rangeExample").rangeSlider({range: false});
$("#rangeExample").rangeSlider({range: {min: false, max: false}});
$("#rangeExample").rangeSlider({range: {min: false}});
// Step
$("#stepExample").rangeSlider({step: 10});
$("#rangeExample").dateRangeSlider({
step: {
days: 2
}
});
// Value labels
$("#valueLabelsExample").rangeSlider({valueLabels: "change"});
$("#valueLabelsExample").dateRangeSlider({valueLabels: "change"});
// Wheel mode
$("#wheelModeExample").rangeSlider({wheelMode: "zoom"});
$("#wheelModeExample").rangeSlider({wheelMode: null});
// Wheel speed
$("#wheelSpeedExample").rangeSlider({wheelMode: "scroll", wheelSpeed: 30});
$("#wheelSpeedExample").dateRangeSlider({wheelMode: "scroll", wheelSpeed: 30});
// Get bounds
var basicSliderBounds: JQRangeSliderNumericRange = $("#slider").rangeSlider("bounds");
console.log(basicSliderBounds.min + " " + basicSliderBounds.max);
var editSliderBounds: JQRangeSliderNumericRange = $("#editSlider").editRangeSlider("bounds");
console.log(editSliderBounds.min + " " + editSliderBounds.max);
var dateSliderBounds: JQRangeSliderDateRange = $("#dateSlider").dateRangeSlider("bounds");
console.log(dateSliderBounds.min.toString() + " " + dateSliderBounds.max.toString());
// Set bounds
$("#slider").rangeSlider("bounds", 10, 20);
$("#editSlider").editRangeSlider("bounds", 20, 100);
$("#dateSlider").dateRangeSlider("bounds", new Date(2012, 0, 1), new Date(2012, 0, 31));
// Get min/max
var basicSliderMin: number = $("#slider").rangeSlider("min");
console.log(basicSliderMin);
var editSliderMin: number = $("#editSlider").editRangeSlider("min");
console.log(editSliderMin);
var dateSliderMax: Date = $("#dateSlider").dateRangeSlider("max");
console.log(dateSliderMax.toString());
// Set min/max
$("#slider").rangeSlider("min", 10);
$("#editSlider").editRangeSlider("min", 20);
$("#dateSlider").dateRangeSlider("max", new Date(2012, 1, 1));

74
jqrangeslider/jqrangeslider.d.ts vendored Normal file
View File

@@ -0,0 +1,74 @@
// Type definitions for jQRangeSlider 4.2.8
// Project: http://ghusse.github.com/jQRangeSlider
// Definitions by: Dániel Tar https://github.com/qcz
// Definitions: https://github.com/borisyankov/DefinitelyTyped
/// <reference path="../jquery/jquery.d.ts"/>
/// <reference path="../jqueryui/jqueryui.d.ts"/>
interface JQRangeSliderNumericRange {
min?: number;
max?: number;
}
interface JQRangeSliderDateRange {
min?: Date;
max?: Date;
}
interface JQRangeSliderRangeLength {
min?: any;
max?: any;
}
interface JQRangeSliderDateSteps {
years?: number;
months?: number;
weeks?: number;
days?: number;
hours?: number;
minutes?: number;
seconds?: number;
}
interface JQRangeSliderOptions {
wheelMode?: string;
wheelSpeed?: number;
arrows?: bool;
valueLabels?: string;
durationIn?: number;
durationOut?: number;
delayOut?: number;
range?: JQRangeSliderRangeLength;
}
interface JQNumericRangeSliderOptions extends JQRangeSliderOptions {
bounds?: JQRangeSliderNumericRange;
defaultValues?: JQRangeSliderNumericRange;
formatter?: (integer) => string;
step?: number;
}
interface JQDateRangeSliderOptions extends JQRangeSliderOptions {
bounds?: JQRangeSliderDateRange;
defaultValues?: JQRangeSliderDateRange;
formatter?: (Date) => string;
step?: JQRangeSliderDateSteps;
}
interface JQuery {
rangeSlider(options?: JQNumericRangeSliderOptions): JQuery;
rangeSlider(method: string): any;
rangeSlider(method: string, value: number): JQuery;
rangeSlider(method: string, min: number, max: number): JQuery;
editRangeSlider(options?: JQNumericRangeSliderOptions): JQuery;
editRangeSlider(method: string): any;
editRangeSlider(method: string, value: number): JQuery;
editRangeSlider(method: string, min: number, max: number): JQuery;
dateRangeSlider(options?: JQRangeSliderOptions): JQuery;
dateRangeSlider(method: string): any;
dateRangeSlider(method: string, value: Date): JQuery;
dateRangeSlider(method: string, min: Date, max: Date): JQuery;
}