activity-router

1.4.0 • Public • Published

activity-router

application router that supports multiple activities.

What

activity-router handles routing in your application if you want to have 'layers' or activities, similar to how activities work in android applications.

activities look like this:

{
    name: 'namedActivity',
    values: {key: value} // flat key: String(value) map.
}

and are displayed in the hash like this:

https://mySite.com/#/namedActivity#/anotherActivity/value

Usage

activity-router uses route-tree under the covers.

Set up a router by passing in your routes just like route-tree:

var activityRouter = require('activity-router');

var router = activitiyRouter({
    routeName: {
        _url: '/routeurl/{routeValue}/{routeValue}'
    }
})

// initialise
router.init();

API

activityRouter.add(name, values)

add an activity.

activityRouter.remove(activity)

remove an activity

activityRouter.replace(name, values, index)

replace an activity at index with a new activity

activityRouter.top(name, values)

replace the top activity with a new activity

activityRouter.pop()

remove the top activity

activityRouter.reset(name, values)

remove all activities except the first, and replace it with a new activity.

activityRouter.init()

initialise activity-router from the hash in the URL.

Events

activity will raise events when an activity is added/changed/removed

router.on('add', function(newActivity, index){});

Emitted when a new activity is added

router.on('update', function(newActivity, index){});

Emitted an existing activity is updated

router.on('replace', function(newActivity, index){});

Emitted an existing activity is replaced

router.on('remove', function(removedActivity, index){});

Emitted an existing activity is removed

Readme

Keywords

none

Package Sidebar

Install

npm i activity-router

Weekly Downloads

2

Version

1.4.0

License

ISC

Last publish

Collaborators

  • korynunn