1.2.1 • Published 7 years ago

chab-router v1.2.1

Weekly downloads
-
License
ISC
Repository
-
Last release
7 years ago

Chab Router

Subscribes for

router.id.initialize

Call when you want to router start playing. It will check current path, match route and fire events.

It will be called by ruoter.id.routes.set

router.id.routes.set

Set routes you want this router to handle.

Example object:

  const routes = [
    {
      name: 'home',
      path: '/'
    },
    {
      name: 'contact',
      path: '/contact'
    },
    {
      name: 'withParams',
      path: '/subpage/{id}/{title}',
      where: {
        id: '(\\d+)'
      }
    }
  ]

router.id.beforeHook.add

Add function which will be called each time route tries to change. Return true if should go forward or false if should not.

router.id.beforeHook.remove

Pass the same function which was passed in add and hook will be removed.

router.id.go

Go to given route. Event expects object with at least name, e.g.:

 {
   name: 'home'
 }

but we can pass params if we have dynamic params in URL and query and hash, e.g.:

 {
   name: 'article',
   params: {
     id: 123,
     title: 'article-about-someting'
   },
   query: {
     camefrom: 'homepage'
   },
   hash: 'comments'
 }

Object passed above could go to URL /article/123/article-about-something?camefrom=homepage#comments

router.id.go.back

Goes to previous page

router.id.go.forward

Goes to next page

router.id.go.by

Gets number where and how far to go. E.g. -1 is same as back. -2 is go two pages before current.

router.id.currentRoute.get

When called it will publish current route data on router.id.currentRoute.value

router.id.terminate

Will stop listening to this router and URL changes.

Publishes

router.id.navigated

When navigated to new route. Passess object of route.

router.id.navigated.notFound

When page was not found then this topic is published.

router.id.currentRoute.value

Publishes current route object when requested by router.id.currentRoute.get

1.2.1

7 years ago

1.2.0

7 years ago

1.1.6

7 years ago

1.1.5

7 years ago

1.1.4

7 years ago

1.1.3

7 years ago

1.1.2

7 years ago

1.1.1

7 years ago

1.1.0

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago