Implements a simple progress bar, when loading different routes. Example running at: https://iron-router-progress.meteor.com/
Use Atmosphere to install the latest version of iron-router-progress.
$ mrt add iron-router-progress
It's mostly all CSS (LESS), and you can pretty much just override the CSS with whatever you want.
For the most part, you'll want to change the #iron-router-progress
's background-color
and box-shadow
like this:
#iron-router-progress {
background-color : <COLOR>;
box-shadow : 0 0 5px <COLOR>;
}
By default, the progress bar will tick every 0.75-1.5 seconds, after you start loading a route.
If you want to disable this behaviour you can do it either globally by:
IronRouterProgress.configure
tick : false
Or by route definition:
Router.map ->
@route 'home',
path : '/'
progress :
tick : false
By default, a spinner is running, on the far right of the page, when loading.
You'll most likely want to just change the border-color like this:
#iron-router-progress.spinner:before {
border-color : <COLOR>;
}
If you don't like the spinner, simply disable it with:
IronRouterProgress.configure
spinner : false
Or by route definition:
Router.map ->
@route 'home',
path : '/'
progress :
spinner : false
If you don't want to use the progress bar for all routes, you can disable it globally, and enable it on the route level:
IronRouterProgress.configure
enabled : false
Router.map ->
@route 'home',
path : '/'
progress :
enabled : true
Or if you just want it disabled for certain routes:
Router.map ->
@route 'home',
path : '/'
progress :
enabled : false
If you don't want to see the progress-bar for 'fast' routes, you can set a delay (time in ms) in which you would like for the progress to wait, before showing up. Global delay:
IronRouterProgress.configure
delay : 100
Or per route:
Router.map ->
@route 'home',
path : '/'
progress :
delay : 100
You can enable it globally, and disable it for specific routes like this:
IronRouterProgress.configure
delay : 100
Router.map ->
@route 'home',
path : '/'
progress :
delay : false