Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,11 @@ React.createClass({
});
```

It also defines modal and overlay triggers that forward router context:

- `ModalTrigger` -> `RouterModalTrigger`
- `OverlayTrigger` -> `RouterOverlayTrigger`

## Installation

You will also (if you haven't already) want to install `react-router` and `react-bootstrap`
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
},
"homepage": "https://github.com/react-bootstrap/react-router-bootstrap",
"peerDependencies": {
"react-bootstrap": ">=0.15",
"react-bootstrap": ">=0.22",
"react-router": ">=0.13.1"
},
"devDependencies": {
Expand Down
7 changes: 7 additions & 0 deletions src/RouterModalTrigger.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
var React = require('react');

var ModalTrigger = require('react-bootstrap/lib/ModalTrigger');

module.exports = ModalTrigger.withContext({
router: React.PropTypes.func
});
7 changes: 7 additions & 0 deletions src/RouterOverlayTrigger.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
var React = require('react');

var OverlayTrigger = require('react-bootstrap/lib/OverlayTrigger');

module.exports = OverlayTrigger.withContext({
router: React.PropTypes.func
});
8 changes: 6 additions & 2 deletions src/index.js
Original file line number Diff line number Diff line change
@@ -1,11 +1,15 @@
var ButtonLink = require('./ButtonLink');
var ListGroupItemLink = require('./ListGroupItemLink');
var MenuItemLink = require('./MenuItemLink');
var NavItemLink = require('./NavItemLink');
var ListGroupItemLink = require('./ListGroupItemLink');
var RouterModalTrigger = require('./RouterModalTrigger');
var RouterOverlayTrigger = require('./RouterOverlayTrigger');

module.exports = {
ButtonLink: ButtonLink,
ListGroupItemLink: ListGroupItemLink,
MenuItemLink: MenuItemLink,
NavItemLink: NavItemLink,
ListGroupItemLink: ListGroupItemLink
RouterModalTrigger: RouterModalTrigger,
RouterOverlayTrigger: RouterOverlayTrigger
};
13 changes: 13 additions & 0 deletions tests/RouterModalTrigger.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/* globals describe, it, expect */

var React = require('react');

var RouterModalTrigger = require('../src/RouterModalTrigger');

describe('A RouterModalTrigger', function() {
it('has the right contextTypes', function() {
expect(RouterModalTrigger.contextTypes).to.eql({
router: React.PropTypes.func
});
});
});
13 changes: 13 additions & 0 deletions tests/RouterOverlayTrigger.spec.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/* globals describe, it, expect */

var React = require('react');

var RouterOverlayTrigger = require('../src/RouterOverlayTrigger');

describe('A RouterOverlayTrigger', function() {
it('has the right contextTypes', function() {
expect(RouterOverlayTrigger.contextTypes).to.eql({
router: React.PropTypes.func
});
});
});
4 changes: 3 additions & 1 deletion tests/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,8 @@ global.assert = chai.assert;
global.TestUtils = require('react/addons').addons.TestUtils;

require('./ButtonLink.spec.js');
require('./ListGroupItemLink.spec.js');
require('./MenuItemLink.spec.js');
require('./NavItemLink.spec.js');
require('./ListGroupItemLink.spec.js');
require('./RouterModalTrigger.spec.js');
require('./RouterOverlayTrigger.spec.js');