Backbone specific route

Context

In the Open Orchestra Back office, all the routing is managed by the Backbone routing component

The routes already used in the Back office are already declared in some configuration file.

Adding a new route

In a configuration file, you could add a route to the router:

(function(router) {
    // Factorise some code in the router (if needed)
    router.fooDisplay = function(fooId) {
        if (selectorExist($('#nav-foo-' + fooId))) {
            this.initDisplayRouteChanges('#nav-foo-' + fooId);
            showFoo($('#nav-foo-' + fooId).data('url'));
        } else {
            Backbone.history.navigate('');
        }
    };

    // Declare the route pattern for the matching process
    router.route('foo/show/:fooId', 'showFoo', function(fooId) {
        this.fooDisplay(fooId);
    });
})(window.appRouter);

To declare a new route in Backbone, you have to declare the method run when the route is triggered.

Finally, you should inject the router to the anonymous function.