You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
171 lines
3.1 KiB
171 lines
3.1 KiB
'use strict'; |
|
|
|
var React = require('react'); |
|
var RouteHandler = require('./components/RouteHandler'); |
|
var PropTypes = require('./PropTypes'); |
|
|
|
exports.Nested = React.createClass({ |
|
displayName: 'Nested', |
|
|
|
render: function render() { |
|
return React.createElement( |
|
'div', |
|
null, |
|
React.createElement( |
|
'h1', |
|
{ className: 'Nested' }, |
|
'Nested' |
|
), |
|
React.createElement(RouteHandler, null) |
|
); |
|
} |
|
}); |
|
|
|
exports.Foo = React.createClass({ |
|
displayName: 'Foo', |
|
|
|
render: function render() { |
|
return React.createElement( |
|
'div', |
|
{ className: 'Foo' }, |
|
'Foo' |
|
); |
|
} |
|
}); |
|
|
|
exports.Bar = React.createClass({ |
|
displayName: 'Bar', |
|
|
|
render: function render() { |
|
return React.createElement( |
|
'div', |
|
{ className: 'Bar' }, |
|
'Bar' |
|
); |
|
} |
|
}); |
|
|
|
exports.Baz = React.createClass({ |
|
displayName: 'Baz', |
|
|
|
render: function render() { |
|
return React.createElement( |
|
'div', |
|
{ className: 'Baz' }, |
|
'Baz' |
|
); |
|
} |
|
}); |
|
|
|
exports.Async = React.createClass({ |
|
displayName: 'Async', |
|
|
|
statics: { |
|
delay: 10, |
|
|
|
willTransitionTo: function willTransitionTo(transition, params, query, callback) { |
|
setTimeout(callback, exports.Async.delay); |
|
} |
|
}, |
|
|
|
render: function render() { |
|
return React.createElement( |
|
'div', |
|
{ className: 'Async' }, |
|
'Async' |
|
); |
|
} |
|
}); |
|
|
|
exports.RedirectToFoo = React.createClass({ |
|
displayName: 'RedirectToFoo', |
|
|
|
statics: { |
|
willTransitionTo: function willTransitionTo(transition) { |
|
transition.redirect('/foo'); |
|
} |
|
}, |
|
|
|
render: function render() { |
|
return null; |
|
} |
|
}); |
|
|
|
exports.RedirectToFooAsync = React.createClass({ |
|
displayName: 'RedirectToFooAsync', |
|
|
|
statics: { |
|
delay: 10, |
|
|
|
willTransitionTo: function willTransitionTo(transition, params, query, callback) { |
|
setTimeout(function () { |
|
transition.redirect('/foo'); |
|
callback(); |
|
}, exports.RedirectToFooAsync.delay); |
|
} |
|
}, |
|
|
|
render: function render() { |
|
return null; |
|
} |
|
}); |
|
|
|
exports.Abort = React.createClass({ |
|
displayName: 'Abort', |
|
|
|
statics: { |
|
willTransitionTo: function willTransitionTo(transition) { |
|
transition.abort(); |
|
} |
|
}, |
|
|
|
render: function render() { |
|
return null; |
|
} |
|
}); |
|
|
|
exports.AbortAsync = React.createClass({ |
|
displayName: 'AbortAsync', |
|
|
|
statics: { |
|
delay: 10, |
|
|
|
willTransitionTo: function willTransitionTo(transition, params, query, callback) { |
|
setTimeout(function () { |
|
transition.abort(); |
|
callback(); |
|
}, exports.AbortAsync.delay); |
|
} |
|
}, |
|
|
|
render: function render() { |
|
return null; |
|
} |
|
}); |
|
|
|
exports.EchoFooProp = React.createClass({ |
|
displayName: 'EchoFooProp', |
|
|
|
render: function render() { |
|
return React.createElement( |
|
'div', |
|
null, |
|
this.props.foo |
|
); |
|
} |
|
}); |
|
|
|
exports.EchoBarParam = React.createClass({ |
|
displayName: 'EchoBarParam', |
|
|
|
contextTypes: { |
|
router: PropTypes.router.isRequired |
|
}, |
|
render: function render() { |
|
return React.createElement( |
|
'div', |
|
{ className: 'EchoBarParam' }, |
|
this.context.router.getCurrentParams().bar |
|
); |
|
} |
|
}); |