morgul-road
v0.1.3
Published
The Mithril router extracted for standalone use.
Downloads
11
Readme
morgul-road
The mithril router extracted for standalone use.
CAVEAT: This adaptation hasn't been tested at all (I didn't even try to run it). It may very well be broken (or just work as advertised, who knows).
Installation:
$ npm install morgul-road
Usage:
import makeRouter from 'morgul-road'; // also works with `require('morgul-road')`
// a basic router that swaps DOM nodes
const route = makeRouter(function updater(root, node) {
// remove this if you don't want the page to scroll up on route change
if (updater.preRedraw) updater.preRedraw();
if(root.firstChild) {
root.replaceChild(node, root.firstChild);
} else {
root.appendChild(node);
}
// this is mandatory to push or replace the history state.
if (updater.postRedraw) updater.postRedraw();
})
main = document.createElement('h1')
main.innerHTML = 'Hello'
route(document.body, '/', {
'/' : main //, ...
})
The route
function has the same (polymorphic) signature as m.route.