rtsinani / colonne

Extends backbone.js with path and params

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Colonne

Colonne extends Backbone.History by exposing two extra, and often necessary properties: path and params.

Ported from sammy.js.

Usage

Just add the script after backbone.js, and the functionality should be ready to use.

Let's say, you navigate to a URL fragment /products/search?names=apple&names=nectarine&page=1 you can then call:

// URL fragment: /products/search?names=apple&names=nectarine&page=1

Backbone.history.path   			// 'products/search'
Backbone.history.params['names']    // ['apple', 'nectarine']
Backbone.history.params['page']		// '1'

Navigate With

You can also use Backbone.history.navigateWith to go to a path with a query string.

Backbone.history.navigateWith('/products/search', { names: ['apple', 'nectarine'], page: 1 }, {trigger: true});
Backbone.history.fragment   // 'products/search?names=apple&names=nectarine&page=1');

Tests

Colonne passes all Backbone tests for the router, copied at test/router.js. The new functionality is tested at the end of the same file.

Dependencies

Underscore 1.3.1 Backbone 0.9.2

License

Colonne is covered by the MIT License

About

Extends backbone.js with path and params


Languages

Language:JavaScript 100.0%