stb-router
v1.3.0
Published
STB SDK singleton for page navigation with history.
Downloads
9
Maintainers
Readme
STB SDK singleton for page navigation with history
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 andpageMain
page will be notified withshow/hide
events. Also the router emitsnavigate
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.