stb-router v1.3.0
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-routerUsage
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
pageMainpage and put it in the tail of the history list. All subscribers of the current andpageMainpage will be notified withshow/hideevents. Also the router emitsnavigateevent 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
DEBUGwhich 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.
10 years ago