diff --git a/README.md b/README.md index d7a430d66..3f071bad1 100755 --- a/README.md +++ b/README.md @@ -147,7 +147,7 @@ List of Definitions * [Knockout.ES5](https://github.com/SteveSanderson/knockout-es5) (by [Sebastián Galiano](https://github.com/sgaliano)) * [Knockout.Mapper](https://github.com/LucasLorentz/knockout.mapper) (by [Brandon Meyer](https://github.com/BMeyerKC)) * [Knockout.Mapping](https://github.com/SteveSanderson/knockout.mapping) (by [Boris Yankov](https://github.com/borisyankov)) -* [Knockout.Postbox](https://github.com/rniemeyer/knockout-postbox) (by [Judah Gabriel](https://github.com/JudahGabriel)) +* [Knockout.Postbox](https://github.com/rniemeyer/knockout-postbox) (by [Judah Gabriel Himango](https://github.com/JudahGabriel)) * [Knockout.Validation](https://github.com/ericmbarnard/Knockout-Validation) (by [Dan Ludwig](https://github.com/danludwig)) * [Knockout.Viewmodel](http://coderenaissance.github.com/knockout.viewmodel/) (by [Oisin Grehan](https://github.com/oising)) * [ko.editables](http://romanych.github.com/ko.editables/) (by [Oisin Grehan](https://github.com/oising)) @@ -172,6 +172,7 @@ List of Definitions * [node-ffi](https://github.com/rbranson/node-ffi) (by [Paul Loyd](https://github.com/loyd)) * [node_zeromq](https://github.com/JustinTulloss/zeromq.node) (by [Dave McKeown](https://github.com/davemckeown)) * [node-sqlserver](https://github.com/WindowsAzure/node-sqlserver) (by [Boris Yankov](https://github.com/borisyankov)) +* [NProgress](https://github.com/rstacruz/nprogress) (by [Judah Gabriel Himango](https://github.com/judahgabriel)) * [Numeral.js](https://github.com/adamwdraper/Numeral-js) (by [Vincent Bortone](https://github.com/vbortone/)) * [OpenLayers] (https://github.com/openlayers/openlayers) (by [Ilya Bolkhovsky](https://github.com/bolhovsky/)) * [Parallel.js](https://github.com/adambom/parallel.js) (by [Josh Baldwin](https://github.com/jbaldwin)) diff --git a/nprogress/NProgress-tests.ts b/nprogress/NProgress-tests.ts new file mode 100644 index 000000000..24613e0be --- /dev/null +++ b/nprogress/NProgress-tests.ts @@ -0,0 +1,30 @@ +function test_basics() { + NProgress.start(); + NProgress.inc(); + NProgress.done(); + NProgress.set(0.5); + + var status = NProgress.status; + var version = NProgress.version; +} + +function test_configuration() { + NProgress.configure({ + speed: 0.3 + }); + + NProgress.configure({ + trickle: false + }); + + NProgress.configure({ + ease: 'ease', + minimum: 0.09, + showSpinner: false, + speed: 420, + template: "
blah
", + trickle: false, + trickleRate: 0.42, + trickleSpeed: 42 + }); +} \ No newline at end of file diff --git a/nprogress/NProgress.d.ts b/nprogress/NProgress.d.ts new file mode 100644 index 000000000..a86558aae --- /dev/null +++ b/nprogress/NProgress.d.ts @@ -0,0 +1,105 @@ +// Type definitions for NProgress +// Project: https://github.com/rstacruz/nprogress +// Definitions by: Judah Gabriel Himango +// Definitions: https://github.com/borisyankov/DefinitelyTyped + +interface NProgressStatic { + /** + * Shows the progress bar and begins trickling progress. + * @returns {NProgressConfigureOptions} The current NProgress object, useful for chaining. + */ + start(): NProgressStatic; + + /** + * Finishes loading by transitioning it to 100%, then fading out. + * @param {boolean} forceShow Forces the progress bar to show, even if it's not being shown. (The default behavior is that .done() will not do anything if .start() isn't called.) + * @returns {NProgressConfigureOptions} The current NProgress object, useful for chaining. + */ + done(forceShow?: boolean): NProgressStatic; + + /** + * Increments the progress bar with a random amount. This will never get to 100%: use it for every image load (or similar). + * @returns {NProgressConfigureOptions} The current NProgress object, useful for chaining. + */ + inc(): NProgressStatic; + + /** + * Removes the progress indicator. + */ + remove(): void; + + /** + * Sets the progress percentage. + * @param {number} progressPercent A number between 0.0 and 1.0 that represents the progress percentage. + * @returns {NProgressConfigureOptions} The current NProgress object, useful for chaining. + */ + set(progressPercent: number): NProgressStatic; + + /** + * Configures the progress indicator. + * @param {NProgressConfigureOptions} options An object containing the configuration options. + * @returns {NProgressConfigureOptions} The current NProgress object, useful for chaining. + */ + configure(options: NProgressConfigureOptions): NProgressStatic; + + /** + * Gets the NProgress version. + */ + version: string; + + /** + * Gets the status. If started, it will be the last progress number set. + */ + status: any; + + /** + * Gets whether progress has been started. + * @returns {boolean} Whether the progress has started. + */ + isStarted(): boolean; +} + +interface NProgressConfigureOptions { + + /** + * The minimum progress percentage. Default is 0.08. + */ + minimum?: number; + + /** + * How much to increase per trickle. Example: .02. Default is true. + */ + trickleRate?: number; + + /** + * How often to trickle, in milliseconds. Default is 800. + */ + trickleSpeed?: number; + + /** + * Whether to show the spinner. Defaults to true. Default is true. + */ + showSpinner?: boolean; + + /** + * Whether to enable trickling the progress. Default is true. + */ + trickle?: boolean; + + /** + * The CSS easing animation to use. Default is 'ease'. + */ + ease?: string; + + /** + * The animation speed in milliseconds. Default is 200. + */ + speed?: number; + + /** + * The HTML markup inserted for the progress indicator. To keep the progress bar working, keep an element with role='bar' in there. + */ + template?: string; +} + +declare var NProgress: NProgressStatic; \ No newline at end of file