diff --git a/ion.rangeSlider/ion.rangeSlider-1.9.1-tests.ts b/ion.rangeSlider/ion.rangeSlider-1.9.1-tests.ts new file mode 100644 index 0000000000..c04d5715fe --- /dev/null +++ b/ion.rangeSlider/ion.rangeSlider-1.9.1-tests.ts @@ -0,0 +1,38 @@ +/// +/// + +var sliderInputElement = $(''); +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"); diff --git a/ion.rangeSlider/ion.rangeSlider-1.9.1.d.ts b/ion.rangeSlider/ion.rangeSlider-1.9.1.d.ts new file mode 100644 index 0000000000..b60954b3b9 --- /dev/null +++ b/ion.rangeSlider/ion.rangeSlider-1.9.1.d.ts @@ -0,0 +1,51 @@ +// Type definitions for for Ion.RangeSlider 1.9.1 +// Project: https://github.com/IonDen/ion.rangeSlider/ +// Definitions by: Douglas Eichelberger +// 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; +} diff --git a/ion.rangeSlider/ion.rangeSlider-tests.ts b/ion.rangeSlider/ion.rangeSlider-tests.ts index 6f1d25f0d3..26dd35e94e 100644 --- a/ion.rangeSlider/ion.rangeSlider-tests.ts +++ b/ion.rangeSlider/ion.rangeSlider-tests.ts @@ -3,36 +3,62 @@ var sliderInputElement = $(''); 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(); diff --git a/ion.rangeSlider/ion.rangeSlider.d.ts b/ion.rangeSlider/ion.rangeSlider.d.ts index b60954b3b9..8eac3c1099 100644 --- a/ion.rangeSlider/ion.rangeSlider.d.ts +++ b/ion.rangeSlider/ion.rangeSlider.d.ts @@ -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 +// Definitions by: Sixin Li // 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; }