1.3.0 • Published 9 years ago

stb-router v1.3.0

Weekly downloads
3
License
GPL-3.0
Repository
github
Last release
9 years ago

STB SDK singleton for page navigation with history

NPM version Dependencies Status Gitter

router is a STB SDK page manager. Each page is an instance of Page component. It is recommended to have the same name for page file name and JS instance.

Installation

npm install stb-router

Usage

Add the singleton to the scope:

var router = require('stb-router');

Init with some existing pages:

router.data([
    require('./pages/init'),
    require('./pages/main'),
    require('./pages/help')
]);

Each page has its ID. The same ID should be used in HTML. Make some page active/visible by its ID:

router.navigate('pageMain');

This will hide the current page, activate the pageMain page and put it in the tail of the history list. All subscribers of the current and pageMain page will be notified with show/hide events. Also the router emits navigate event to all subscribers.

To get to the previous active page use:

router.back();

Low-level attributes to handle router data manually: router.current, router.history and router.ids.

The module also has methods to parse location hash address and serialize it back:

var parsedData = router.parse('#pageMain/some/additional/data'),
    stringData = router.stringify('pageMain', ['some', 'additional', 'data']);

Direct modification of the URL address should be avoided. The methods router.navigate and router.back should be used instead.

Debug mode

There is a global var DEBUG which activates additional consistency checks and protection logic not available in release mode.

In debug mode the constructor is exposed to the global namespace as window.router.

Contribution

If you have any problem or suggestion please open an issue here. Pull requests are welcomed with respect to the JavaScript Code Style.

License

stb-router is released under the GPL-3.0 License.