1.0.4 • Published 8 years ago

route-reverser v1.0.4

Weekly downloads
1
License
ISC
Repository
-
Last release
8 years ago

marionette-router-reverse

Module to reverse Marionette's router

Motivation

Use this module to generate correct url for register route in a Marionette router. This way you don't have to know your url configuration in your code, juste the name you gave to your controllers. It is very lightweight.

Pull requests

Feel free :) soon I'll surely add this module directly into Marionette.AppRouter.

Usage

In AppRouter.js :

var Mn = require('backbone.marionette');
var AppController = require('./AppController');
var RouteReverser = require('route-reverser');

module.exports = Mn.AppRouter.extend(RouteReverser).extend({
  routes: {
    'index': 'index'
  },

  index: function() {
    console.log('Hello World !');
  },

  appRoutes: {
    'users/': 'users',
    'users/:id/': 'user',
    'todos(/category/:category)/': 'todos'
  },

  initialize: function() {
    this.controller = new AppController();
  }
});

Then anywere you can generate and navigate to correct url as follow :

module.exports = function() {
  // assuming app is global
  app.router.navigate(app.router.reverse('index');
  // or
  app.router.navigate(app.router.reverse('users');
  // or
  app.router.navigate(app.router.reverse('user', {id: 42}));
  // or
  app.router.navigate(app.router.reverse('todos');
  // or
  app.router.navigate(app.router.reverse('todos', {category: 17});

  // or even
  app.router.navigateTo('todos', {category: 17}, {trigger: true});
};
1.0.4

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago