Skip to content

Commit

Permalink
Merge pull request #378 from johanbrook/feature/route-group-options
Browse files Browse the repository at this point in the history
Persist options object on route groups
  • Loading branch information
arunoda committed Nov 2, 2015
2 parents 82f9573 + bca10e1 commit b9e59f4
Show file tree
Hide file tree
Showing 5 changed files with 43 additions and 1 deletion.
1 change: 1 addition & 0 deletions client/group.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Group = function(router, options, parent) {
this._router = router;
this.prefix = options.prefix || '';
this.name = options.name;
this.options = options;

this._triggersEnter = options.triggersEnter || [];
this._triggersExit = options.triggersExit || [];
Expand Down
1 change: 1 addition & 0 deletions package.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ Package.onTest(function(api) {
api.addFiles('test/common/router.path.spec.js', ['client', 'server']);
api.addFiles('test/common/router.addons.spec.js', ['client', 'server']);
api.addFiles('test/common/route.spec.js', ['client', 'server']);
api.addFiles('test/common/group.spec.js', ['client', 'server']);
});

function configure(api) {
Expand Down
2 changes: 1 addition & 1 deletion server/group.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Group = function(router, options) {
options = options || {};
this.prefix = options.prefix || '';

this.options = options;
this._router = router;
};

Expand Down
24 changes: 24 additions & 0 deletions test/client/group.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -87,3 +87,27 @@ Tinytest.addAsync('Client - Group - set and retrieve group name', function (test
next();
}, 100);
});

Tinytest.add('Client - Group - expose group options on a route', function (test) {
var pathDef = "/" + Random.id();
var name = Random.id();
var groupName = Random.id();
var data = {aa: 10};
var layout = 'blah';

var group = FlowRouter.group({
name: groupName,
prefix: '/admin',
layout: layout,
someData: data
});

group.route(pathDef, {
name: name
});

var route = FlowRouter._routesMap[name];

test.equal(route.group.options.someData, data);
test.equal(route.group.options.layout, layout);
});
16 changes: 16 additions & 0 deletions test/common/group.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
Tinytest.add('Common - Group - expose group options', function (test) {
var pathDef = "/" + Random.id();
var name = Random.id();
var data = {aa: 10};
var layout = 'blah';

var group = FlowRouter.group({
name: name,
prefix: '/admin',
layout: layout,
someData: data
});

test.equal(group.options.someData, data);
test.equal(group.options.layout, layout);
});

0 comments on commit b9e59f4

Please # to comment.