sequenceserver 1.1.0.beta → 1.1.0.beta2
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of sequenceserver might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.travis.yml +7 -7
- data/README.md +9 -11
- data/Rakefile +2 -15
- data/lib/sequenceserver/database.rb +7 -1
- data/lib/sequenceserver/routes.rb +5 -2
- data/lib/sequenceserver/version.rb +1 -1
- data/lib/sequenceserver.rb +3 -1
- data/package.json +2 -3
- data/public/config.js +0 -7
- data/public/css/sequenceserver.css +8 -17
- data/public/css/sequenceserver.min.css +2 -2
- data/public/js/report.js +62 -45
- data/public/js/search.js +24 -17
- data/public/js/sequenceserver.js +23 -60
- data/public/sequenceserver-report.min.js +17 -0
- data/public/sequenceserver-search.min.js +11 -0
- data/sequenceserver.gemspec +5 -5
- data/spec/capybara_spec.rb +3 -3
- data/spec/sequence_spec.rb +2 -2
- data/views/layout.erb +1 -13
- data/views/report.erb +13 -0
- data/views/search.erb +45 -0
- metadata +26 -92
- data/public/css/sequenceserver.min.css.gz +0 -0
- data/public/sequenceserver.min.js +0 -26
- data/public/sequenceserver.min.js.gz +0 -0
- data/public/vendor/npm/object-assign@2.1.1/.jspm-hash +0 -1
- data/public/vendor/npm/object-assign@2.1.1/.jspm.json +0 -72
- data/public/vendor/npm/object-assign@2.1.1/index.js +0 -27
- data/public/vendor/npm/object-assign@2.1.1/package.json +0 -38
- data/public/vendor/npm/object-assign@2.1.1.js +0 -1
- data/public/vendor/npm/qs@2.4.1/.jshintignore +0 -1
- data/public/vendor/npm/qs@2.4.1/.jshintrc +0 -10
- data/public/vendor/npm/qs@2.4.1/.jspm-hash +0 -1
- data/public/vendor/npm/qs@2.4.1/.jspm.json +0 -61
- data/public/vendor/npm/qs@2.4.1/.npmignore +0 -18
- data/public/vendor/npm/qs@2.4.1/.travis.yml +0 -6
- data/public/vendor/npm/qs@2.4.1/CHANGELOG.md +0 -68
- data/public/vendor/npm/qs@2.4.1/CONTRIBUTING.md +0 -1
- data/public/vendor/npm/qs@2.4.1/LICENSE +0 -28
- data/public/vendor/npm/qs@2.4.1/Makefile +0 -8
- data/public/vendor/npm/qs@2.4.1/README.md +0 -233
- data/public/vendor/npm/qs@2.4.1/index.js +0 -2
- data/public/vendor/npm/qs@2.4.1/lib/index.js +0 -8
- data/public/vendor/npm/qs@2.4.1/lib/parse.js +0 -100
- data/public/vendor/npm/qs@2.4.1/lib/stringify.js +0 -67
- data/public/vendor/npm/qs@2.4.1/lib/utils.js +0 -132
- data/public/vendor/npm/qs@2.4.1/lib.js +0 -2
- data/public/vendor/npm/qs@2.4.1/package.json +0 -29
- data/public/vendor/npm/qs@2.4.1/test/parse.js +0 -359
- data/public/vendor/npm/qs@2.4.1.js +0 -1
- data/public/vendor/npm/react-router@0.13.3/.jspm-hash +0 -1
- data/public/vendor/npm/react-router@0.13.3/.jspm.json +0 -70
- data/public/vendor/npm/react-router@0.13.3/README.md +0 -140
- data/public/vendor/npm/react-router@0.13.3/lib/Cancellation.js +0 -9
- data/public/vendor/npm/react-router@0.13.3/lib/History.js +0 -31
- data/public/vendor/npm/react-router@0.13.3/lib/Match.js +0 -80
- data/public/vendor/npm/react-router@0.13.3/lib/Navigation.js +0 -22
- data/public/vendor/npm/react-router@0.13.3/lib/PathUtils.js +0 -154
- data/public/vendor/npm/react-router@0.13.3/lib/PropTypes.js +0 -15
- data/public/vendor/npm/react-router@0.13.3/lib/Redirect.js +0 -12
- data/public/vendor/npm/react-router@0.13.3/lib/Route.js +0 -133
- data/public/vendor/npm/react-router@0.13.3/lib/ScrollHistory.js +0 -53
- data/public/vendor/npm/react-router@0.13.3/lib/State.js +0 -25
- data/public/vendor/npm/react-router@0.13.3/lib/TestUtils.js +0 -102
- data/public/vendor/npm/react-router@0.13.3/lib/Transition.js +0 -58
- data/public/vendor/npm/react-router@0.13.3/lib/actions/LocationActions.js +0 -25
- data/public/vendor/npm/react-router@0.13.3/lib/behaviors/ImitateBrowserBehavior.js +0 -19
- data/public/vendor/npm/react-router@0.13.3/lib/behaviors/ScrollToTopBehavior.js +0 -15
- data/public/vendor/npm/react-router@0.13.3/lib/components/ActiveHandler.js +0 -111
- data/public/vendor/npm/react-router@0.13.3/lib/components/ContextWrapper.js +0 -39
- data/public/vendor/npm/react-router@0.13.3/lib/components/DefaultRoute.js +0 -41
- data/public/vendor/npm/react-router@0.13.3/lib/components/Link.js +0 -119
- data/public/vendor/npm/react-router@0.13.3/lib/components/NotFoundRoute.js +0 -41
- data/public/vendor/npm/react-router@0.13.3/lib/components/Redirect.js +0 -40
- data/public/vendor/npm/react-router@0.13.3/lib/components/Route.js +0 -67
- data/public/vendor/npm/react-router@0.13.3/lib/components/RouteHandler.js +0 -111
- data/public/vendor/npm/react-router@0.13.3/lib/createRouter.js +0 -329
- data/public/vendor/npm/react-router@0.13.3/lib/createRoutesFromReactChildren.js +0 -59
- data/public/vendor/npm/react-router@0.13.3/lib/getWindowScrollPosition.js +0 -19
- data/public/vendor/npm/react-router@0.13.3/lib/index.js +0 -26
- data/public/vendor/npm/react-router@0.13.3/lib/isReactChildren.js +0 -14
- data/public/vendor/npm/react-router@0.13.3/lib/locations/HashLocation.js +0 -79
- data/public/vendor/npm/react-router@0.13.3/lib/locations/HistoryLocation.js +0 -64
- data/public/vendor/npm/react-router@0.13.3/lib/locations/RefreshLocation.js +0 -18
- data/public/vendor/npm/react-router@0.13.3/lib/locations/StaticLocation.js +0 -50
- data/public/vendor/npm/react-router@0.13.3/lib/locations/TestLocation.js +0 -104
- data/public/vendor/npm/react-router@0.13.3/lib/runRouter.js +0 -16
- data/public/vendor/npm/react-router@0.13.3/lib/supportsHistory.js +0 -17
- data/public/vendor/npm/react-router@0.13.3/lib.js +0 -2
- data/public/vendor/npm/react-router@0.13.3/package.json +0 -36
- data/public/vendor/npm/react-router@0.13.3/umd/ReactRouter.js +0 -3388
- data/public/vendor/npm/react-router@0.13.3/umd/ReactRouter.min.js +0 -8
@@ -1,40 +0,0 @@
|
|
1
|
-
/* */
|
2
|
-
'use strict';
|
3
|
-
var _classCallCheck = function(instance, Constructor) {
|
4
|
-
if (!(instance instanceof Constructor)) {
|
5
|
-
throw new TypeError('Cannot call a class as a function');
|
6
|
-
}
|
7
|
-
};
|
8
|
-
var _inherits = function(subClass, superClass) {
|
9
|
-
if (typeof superClass !== 'function' && superClass !== null) {
|
10
|
-
throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass);
|
11
|
-
}
|
12
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {constructor: {
|
13
|
-
value: subClass,
|
14
|
-
enumerable: false,
|
15
|
-
writable: true,
|
16
|
-
configurable: true
|
17
|
-
}});
|
18
|
-
if (superClass)
|
19
|
-
subClass.__proto__ = superClass;
|
20
|
-
};
|
21
|
-
var PropTypes = require("../PropTypes");
|
22
|
-
var Route = require("./Route");
|
23
|
-
var Redirect = (function(_Route) {
|
24
|
-
function Redirect() {
|
25
|
-
_classCallCheck(this, Redirect);
|
26
|
-
if (_Route != null) {
|
27
|
-
_Route.apply(this, arguments);
|
28
|
-
}
|
29
|
-
}
|
30
|
-
_inherits(Redirect, _Route);
|
31
|
-
return Redirect;
|
32
|
-
})(Route);
|
33
|
-
Redirect.propTypes = {
|
34
|
-
path: PropTypes.string,
|
35
|
-
from: PropTypes.string,
|
36
|
-
to: PropTypes.string,
|
37
|
-
handler: PropTypes.falsy
|
38
|
-
};
|
39
|
-
Redirect.defaultProps = {};
|
40
|
-
module.exports = Redirect;
|
@@ -1,67 +0,0 @@
|
|
1
|
-
/* */
|
2
|
-
'use strict';
|
3
|
-
var _classCallCheck = function(instance, Constructor) {
|
4
|
-
if (!(instance instanceof Constructor)) {
|
5
|
-
throw new TypeError('Cannot call a class as a function');
|
6
|
-
}
|
7
|
-
};
|
8
|
-
var _createClass = (function() {
|
9
|
-
function defineProperties(target, props) {
|
10
|
-
for (var i = 0; i < props.length; i++) {
|
11
|
-
var descriptor = props[i];
|
12
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
13
|
-
descriptor.configurable = true;
|
14
|
-
if ('value' in descriptor)
|
15
|
-
descriptor.writable = true;
|
16
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
17
|
-
}
|
18
|
-
}
|
19
|
-
return function(Constructor, protoProps, staticProps) {
|
20
|
-
if (protoProps)
|
21
|
-
defineProperties(Constructor.prototype, protoProps);
|
22
|
-
if (staticProps)
|
23
|
-
defineProperties(Constructor, staticProps);
|
24
|
-
return Constructor;
|
25
|
-
};
|
26
|
-
})();
|
27
|
-
var _inherits = function(subClass, superClass) {
|
28
|
-
if (typeof superClass !== 'function' && superClass !== null) {
|
29
|
-
throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass);
|
30
|
-
}
|
31
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {constructor: {
|
32
|
-
value: subClass,
|
33
|
-
enumerable: false,
|
34
|
-
writable: true,
|
35
|
-
configurable: true
|
36
|
-
}});
|
37
|
-
if (superClass)
|
38
|
-
subClass.__proto__ = superClass;
|
39
|
-
};
|
40
|
-
var React = require("react");
|
41
|
-
var invariant = require("react/lib/invariant");
|
42
|
-
var PropTypes = require("../PropTypes");
|
43
|
-
var RouteHandler = require("./RouteHandler");
|
44
|
-
var Route = (function(_React$Component) {
|
45
|
-
function Route() {
|
46
|
-
_classCallCheck(this, Route);
|
47
|
-
if (_React$Component != null) {
|
48
|
-
_React$Component.apply(this, arguments);
|
49
|
-
}
|
50
|
-
}
|
51
|
-
_inherits(Route, _React$Component);
|
52
|
-
_createClass(Route, [{
|
53
|
-
key: 'render',
|
54
|
-
value: function render() {
|
55
|
-
invariant(false, '%s elements are for router configuration only and should not be rendered', this.constructor.name);
|
56
|
-
}
|
57
|
-
}]);
|
58
|
-
return Route;
|
59
|
-
})(React.Component);
|
60
|
-
Route.propTypes = {
|
61
|
-
name: PropTypes.string,
|
62
|
-
path: PropTypes.string,
|
63
|
-
handler: PropTypes.func,
|
64
|
-
ignoreScrollBehavior: PropTypes.bool
|
65
|
-
};
|
66
|
-
Route.defaultProps = {handler: RouteHandler};
|
67
|
-
module.exports = Route;
|
@@ -1,111 +0,0 @@
|
|
1
|
-
/* */
|
2
|
-
'use strict';
|
3
|
-
var _classCallCheck = function(instance, Constructor) {
|
4
|
-
if (!(instance instanceof Constructor)) {
|
5
|
-
throw new TypeError('Cannot call a class as a function');
|
6
|
-
}
|
7
|
-
};
|
8
|
-
var _createClass = (function() {
|
9
|
-
function defineProperties(target, props) {
|
10
|
-
for (var i = 0; i < props.length; i++) {
|
11
|
-
var descriptor = props[i];
|
12
|
-
descriptor.enumerable = descriptor.enumerable || false;
|
13
|
-
descriptor.configurable = true;
|
14
|
-
if ('value' in descriptor)
|
15
|
-
descriptor.writable = true;
|
16
|
-
Object.defineProperty(target, descriptor.key, descriptor);
|
17
|
-
}
|
18
|
-
}
|
19
|
-
return function(Constructor, protoProps, staticProps) {
|
20
|
-
if (protoProps)
|
21
|
-
defineProperties(Constructor.prototype, protoProps);
|
22
|
-
if (staticProps)
|
23
|
-
defineProperties(Constructor, staticProps);
|
24
|
-
return Constructor;
|
25
|
-
};
|
26
|
-
})();
|
27
|
-
var _inherits = function(subClass, superClass) {
|
28
|
-
if (typeof superClass !== 'function' && superClass !== null) {
|
29
|
-
throw new TypeError('Super expression must either be null or a function, not ' + typeof superClass);
|
30
|
-
}
|
31
|
-
subClass.prototype = Object.create(superClass && superClass.prototype, {constructor: {
|
32
|
-
value: subClass,
|
33
|
-
enumerable: false,
|
34
|
-
writable: true,
|
35
|
-
configurable: true
|
36
|
-
}});
|
37
|
-
if (superClass)
|
38
|
-
subClass.__proto__ = superClass;
|
39
|
-
};
|
40
|
-
var React = require("react");
|
41
|
-
var ContextWrapper = require("./ContextWrapper");
|
42
|
-
var assign = require("react/lib/Object.assign");
|
43
|
-
var PropTypes = require("../PropTypes");
|
44
|
-
var REF_NAME = '__routeHandler__';
|
45
|
-
var RouteHandler = (function(_React$Component) {
|
46
|
-
function RouteHandler() {
|
47
|
-
_classCallCheck(this, RouteHandler);
|
48
|
-
if (_React$Component != null) {
|
49
|
-
_React$Component.apply(this, arguments);
|
50
|
-
}
|
51
|
-
}
|
52
|
-
_inherits(RouteHandler, _React$Component);
|
53
|
-
_createClass(RouteHandler, [{
|
54
|
-
key: 'getChildContext',
|
55
|
-
value: function getChildContext() {
|
56
|
-
return {routeDepth: this.context.routeDepth + 1};
|
57
|
-
}
|
58
|
-
}, {
|
59
|
-
key: 'componentDidMount',
|
60
|
-
value: function componentDidMount() {
|
61
|
-
this._updateRouteComponent(this.refs[REF_NAME]);
|
62
|
-
}
|
63
|
-
}, {
|
64
|
-
key: 'componentDidUpdate',
|
65
|
-
value: function componentDidUpdate() {
|
66
|
-
this._updateRouteComponent(this.refs[REF_NAME]);
|
67
|
-
}
|
68
|
-
}, {
|
69
|
-
key: 'componentWillUnmount',
|
70
|
-
value: function componentWillUnmount() {
|
71
|
-
this._updateRouteComponent(null);
|
72
|
-
}
|
73
|
-
}, {
|
74
|
-
key: '_updateRouteComponent',
|
75
|
-
value: function _updateRouteComponent(component) {
|
76
|
-
this.context.router.setRouteComponentAtDepth(this.getRouteDepth(), component);
|
77
|
-
}
|
78
|
-
}, {
|
79
|
-
key: 'getRouteDepth',
|
80
|
-
value: function getRouteDepth() {
|
81
|
-
return this.context.routeDepth;
|
82
|
-
}
|
83
|
-
}, {
|
84
|
-
key: 'createChildRouteHandler',
|
85
|
-
value: function createChildRouteHandler(props) {
|
86
|
-
var route = this.context.router.getRouteAtDepth(this.getRouteDepth());
|
87
|
-
if (route == null) {
|
88
|
-
return null;
|
89
|
-
}
|
90
|
-
var childProps = assign({}, props || this.props, {
|
91
|
-
ref: REF_NAME,
|
92
|
-
params: this.context.router.getCurrentParams(),
|
93
|
-
query: this.context.router.getCurrentQuery()
|
94
|
-
});
|
95
|
-
return React.createElement(route.handler, childProps);
|
96
|
-
}
|
97
|
-
}, {
|
98
|
-
key: 'render',
|
99
|
-
value: function render() {
|
100
|
-
var handler = this.createChildRouteHandler();
|
101
|
-
return handler ? React.createElement(ContextWrapper, null, handler) : React.createElement('script', null);
|
102
|
-
}
|
103
|
-
}]);
|
104
|
-
return RouteHandler;
|
105
|
-
})(React.Component);
|
106
|
-
RouteHandler.contextTypes = {
|
107
|
-
routeDepth: PropTypes.number.isRequired,
|
108
|
-
router: PropTypes.router.isRequired
|
109
|
-
};
|
110
|
-
RouteHandler.childContextTypes = {routeDepth: PropTypes.number.isRequired};
|
111
|
-
module.exports = RouteHandler;
|
@@ -1,329 +0,0 @@
|
|
1
|
-
/* */
|
2
|
-
(function(process) {
|
3
|
-
'use strict';
|
4
|
-
var React = require("react");
|
5
|
-
var warning = require("react/lib/warning");
|
6
|
-
var invariant = require("react/lib/invariant");
|
7
|
-
var canUseDOM = require("react/lib/ExecutionEnvironment").canUseDOM;
|
8
|
-
var LocationActions = require("./actions/LocationActions");
|
9
|
-
var ImitateBrowserBehavior = require("./behaviors/ImitateBrowserBehavior");
|
10
|
-
var HashLocation = require("./locations/HashLocation");
|
11
|
-
var HistoryLocation = require("./locations/HistoryLocation");
|
12
|
-
var RefreshLocation = require("./locations/RefreshLocation");
|
13
|
-
var StaticLocation = require("./locations/StaticLocation");
|
14
|
-
var ScrollHistory = require("./ScrollHistory");
|
15
|
-
var createRoutesFromReactChildren = require("./createRoutesFromReactChildren");
|
16
|
-
var isReactChildren = require("./isReactChildren");
|
17
|
-
var Transition = require("./Transition");
|
18
|
-
var PropTypes = require("./PropTypes");
|
19
|
-
var Redirect = require("./Redirect");
|
20
|
-
var History = require("./History");
|
21
|
-
var Cancellation = require("./Cancellation");
|
22
|
-
var Match = require("./Match");
|
23
|
-
var Route = require("./Route");
|
24
|
-
var supportsHistory = require("./supportsHistory");
|
25
|
-
var PathUtils = require("./PathUtils");
|
26
|
-
var DEFAULT_LOCATION = canUseDOM ? HashLocation : '/';
|
27
|
-
var DEFAULT_SCROLL_BEHAVIOR = canUseDOM ? ImitateBrowserBehavior : null;
|
28
|
-
function hasProperties(object, properties) {
|
29
|
-
for (var propertyName in properties)
|
30
|
-
if (properties.hasOwnProperty(propertyName) && object[propertyName] !== properties[propertyName]) {
|
31
|
-
return false;
|
32
|
-
}
|
33
|
-
return true;
|
34
|
-
}
|
35
|
-
function hasMatch(routes, route, prevParams, nextParams, prevQuery, nextQuery) {
|
36
|
-
return routes.some(function(r) {
|
37
|
-
if (r !== route)
|
38
|
-
return false;
|
39
|
-
var paramNames = route.paramNames;
|
40
|
-
var paramName;
|
41
|
-
for (var i = 0,
|
42
|
-
len = paramNames.length; i < len; ++i) {
|
43
|
-
paramName = paramNames[i];
|
44
|
-
if (nextParams[paramName] !== prevParams[paramName])
|
45
|
-
return false;
|
46
|
-
}
|
47
|
-
return hasProperties(prevQuery, nextQuery) && hasProperties(nextQuery, prevQuery);
|
48
|
-
});
|
49
|
-
}
|
50
|
-
function addRoutesToNamedRoutes(routes, namedRoutes) {
|
51
|
-
var route;
|
52
|
-
for (var i = 0,
|
53
|
-
len = routes.length; i < len; ++i) {
|
54
|
-
route = routes[i];
|
55
|
-
if (route.name) {
|
56
|
-
invariant(namedRoutes[route.name] == null, 'You may not have more than one route named "%s"', route.name);
|
57
|
-
namedRoutes[route.name] = route;
|
58
|
-
}
|
59
|
-
if (route.childRoutes)
|
60
|
-
addRoutesToNamedRoutes(route.childRoutes, namedRoutes);
|
61
|
-
}
|
62
|
-
}
|
63
|
-
function routeIsActive(activeRoutes, routeName) {
|
64
|
-
return activeRoutes.some(function(route) {
|
65
|
-
return route.name === routeName;
|
66
|
-
});
|
67
|
-
}
|
68
|
-
function paramsAreActive(activeParams, params) {
|
69
|
-
for (var property in params)
|
70
|
-
if (String(activeParams[property]) !== String(params[property])) {
|
71
|
-
return false;
|
72
|
-
}
|
73
|
-
return true;
|
74
|
-
}
|
75
|
-
function queryIsActive(activeQuery, query) {
|
76
|
-
for (var property in query)
|
77
|
-
if (String(activeQuery[property]) !== String(query[property])) {
|
78
|
-
return false;
|
79
|
-
}
|
80
|
-
return true;
|
81
|
-
}
|
82
|
-
function createRouter(options) {
|
83
|
-
options = options || {};
|
84
|
-
if (isReactChildren(options))
|
85
|
-
options = {routes: options};
|
86
|
-
var mountedComponents = [];
|
87
|
-
var location = options.location || DEFAULT_LOCATION;
|
88
|
-
var scrollBehavior = options.scrollBehavior || DEFAULT_SCROLL_BEHAVIOR;
|
89
|
-
var state = {};
|
90
|
-
var nextState = {};
|
91
|
-
var pendingTransition = null;
|
92
|
-
var dispatchHandler = null;
|
93
|
-
if (typeof location === 'string')
|
94
|
-
location = new StaticLocation(location);
|
95
|
-
if (location instanceof StaticLocation) {
|
96
|
-
warning(!canUseDOM || process.env.NODE_ENV === 'test', 'You should not use a static location in a DOM environment because ' + 'the router will not be kept in sync with the current URL');
|
97
|
-
} else {
|
98
|
-
invariant(canUseDOM || location.needsDOM === false, 'You cannot use %s without a DOM', location);
|
99
|
-
}
|
100
|
-
if (location === HistoryLocation && !supportsHistory())
|
101
|
-
location = RefreshLocation;
|
102
|
-
var Router = React.createClass({
|
103
|
-
displayName: 'Router',
|
104
|
-
statics: {
|
105
|
-
isRunning: false,
|
106
|
-
cancelPendingTransition: function cancelPendingTransition() {
|
107
|
-
if (pendingTransition) {
|
108
|
-
pendingTransition.cancel();
|
109
|
-
pendingTransition = null;
|
110
|
-
}
|
111
|
-
},
|
112
|
-
clearAllRoutes: function clearAllRoutes() {
|
113
|
-
Router.cancelPendingTransition();
|
114
|
-
Router.namedRoutes = {};
|
115
|
-
Router.routes = [];
|
116
|
-
},
|
117
|
-
addRoutes: function addRoutes(routes) {
|
118
|
-
if (isReactChildren(routes))
|
119
|
-
routes = createRoutesFromReactChildren(routes);
|
120
|
-
addRoutesToNamedRoutes(routes, Router.namedRoutes);
|
121
|
-
Router.routes.push.apply(Router.routes, routes);
|
122
|
-
},
|
123
|
-
replaceRoutes: function replaceRoutes(routes) {
|
124
|
-
Router.clearAllRoutes();
|
125
|
-
Router.addRoutes(routes);
|
126
|
-
Router.refresh();
|
127
|
-
},
|
128
|
-
match: function match(path) {
|
129
|
-
return Match.findMatch(Router.routes, path);
|
130
|
-
},
|
131
|
-
makePath: function makePath(to, params, query) {
|
132
|
-
var path;
|
133
|
-
if (PathUtils.isAbsolute(to)) {
|
134
|
-
path = to;
|
135
|
-
} else {
|
136
|
-
var route = to instanceof Route ? to : Router.namedRoutes[to];
|
137
|
-
invariant(route instanceof Route, 'Cannot find a route named "%s"', to);
|
138
|
-
path = route.path;
|
139
|
-
}
|
140
|
-
return PathUtils.withQuery(PathUtils.injectParams(path, params), query);
|
141
|
-
},
|
142
|
-
makeHref: function makeHref(to, params, query) {
|
143
|
-
var path = Router.makePath(to, params, query);
|
144
|
-
return location === HashLocation ? '#' + path : path;
|
145
|
-
},
|
146
|
-
transitionTo: function transitionTo(to, params, query) {
|
147
|
-
var path = Router.makePath(to, params, query);
|
148
|
-
if (pendingTransition) {
|
149
|
-
location.replace(path);
|
150
|
-
} else {
|
151
|
-
location.push(path);
|
152
|
-
}
|
153
|
-
},
|
154
|
-
replaceWith: function replaceWith(to, params, query) {
|
155
|
-
location.replace(Router.makePath(to, params, query));
|
156
|
-
},
|
157
|
-
goBack: function goBack() {
|
158
|
-
if (History.length > 1 || location === RefreshLocation) {
|
159
|
-
location.pop();
|
160
|
-
return true;
|
161
|
-
}
|
162
|
-
warning(false, 'goBack() was ignored because there is no router history');
|
163
|
-
return false;
|
164
|
-
},
|
165
|
-
handleAbort: options.onAbort || function(abortReason) {
|
166
|
-
if (location instanceof StaticLocation)
|
167
|
-
throw new Error('Unhandled aborted transition! Reason: ' + abortReason);
|
168
|
-
if (abortReason instanceof Cancellation) {
|
169
|
-
return;
|
170
|
-
} else if (abortReason instanceof Redirect) {
|
171
|
-
location.replace(Router.makePath(abortReason.to, abortReason.params, abortReason.query));
|
172
|
-
} else {
|
173
|
-
location.pop();
|
174
|
-
}
|
175
|
-
},
|
176
|
-
handleError: options.onError || function(error) {
|
177
|
-
throw error;
|
178
|
-
},
|
179
|
-
handleLocationChange: function handleLocationChange(change) {
|
180
|
-
Router.dispatch(change.path, change.type);
|
181
|
-
},
|
182
|
-
dispatch: function dispatch(path, action) {
|
183
|
-
Router.cancelPendingTransition();
|
184
|
-
var prevPath = state.path;
|
185
|
-
var isRefreshing = action == null;
|
186
|
-
if (prevPath === path && !isRefreshing) {
|
187
|
-
return;
|
188
|
-
}
|
189
|
-
if (prevPath && action === LocationActions.PUSH)
|
190
|
-
Router.recordScrollPosition(prevPath);
|
191
|
-
var match = Router.match(path);
|
192
|
-
warning(match != null, 'No route matches path "%s". Make sure you have <Route path="%s"> somewhere in your routes', path, path);
|
193
|
-
if (match == null)
|
194
|
-
match = {};
|
195
|
-
var prevRoutes = state.routes || [];
|
196
|
-
var prevParams = state.params || {};
|
197
|
-
var prevQuery = state.query || {};
|
198
|
-
var nextRoutes = match.routes || [];
|
199
|
-
var nextParams = match.params || {};
|
200
|
-
var nextQuery = match.query || {};
|
201
|
-
var fromRoutes,
|
202
|
-
toRoutes;
|
203
|
-
if (prevRoutes.length) {
|
204
|
-
fromRoutes = prevRoutes.filter(function(route) {
|
205
|
-
return !hasMatch(nextRoutes, route, prevParams, nextParams, prevQuery, nextQuery);
|
206
|
-
});
|
207
|
-
toRoutes = nextRoutes.filter(function(route) {
|
208
|
-
return !hasMatch(prevRoutes, route, prevParams, nextParams, prevQuery, nextQuery);
|
209
|
-
});
|
210
|
-
} else {
|
211
|
-
fromRoutes = [];
|
212
|
-
toRoutes = nextRoutes;
|
213
|
-
}
|
214
|
-
var transition = new Transition(path, Router.replaceWith.bind(Router, path));
|
215
|
-
pendingTransition = transition;
|
216
|
-
var fromComponents = mountedComponents.slice(prevRoutes.length - fromRoutes.length);
|
217
|
-
Transition.from(transition, fromRoutes, fromComponents, function(error) {
|
218
|
-
if (error || transition.abortReason)
|
219
|
-
return dispatchHandler.call(Router, error, transition);
|
220
|
-
Transition.to(transition, toRoutes, nextParams, nextQuery, function(error) {
|
221
|
-
dispatchHandler.call(Router, error, transition, {
|
222
|
-
path: path,
|
223
|
-
action: action,
|
224
|
-
pathname: match.pathname,
|
225
|
-
routes: nextRoutes,
|
226
|
-
params: nextParams,
|
227
|
-
query: nextQuery
|
228
|
-
});
|
229
|
-
});
|
230
|
-
});
|
231
|
-
},
|
232
|
-
run: function run(callback) {
|
233
|
-
invariant(!Router.isRunning, 'Router is already running');
|
234
|
-
dispatchHandler = function(error, transition, newState) {
|
235
|
-
if (error)
|
236
|
-
Router.handleError(error);
|
237
|
-
if (pendingTransition !== transition)
|
238
|
-
return;
|
239
|
-
pendingTransition = null;
|
240
|
-
if (transition.abortReason) {
|
241
|
-
Router.handleAbort(transition.abortReason);
|
242
|
-
} else {
|
243
|
-
callback.call(Router, Router, nextState = newState);
|
244
|
-
}
|
245
|
-
};
|
246
|
-
if (!(location instanceof StaticLocation)) {
|
247
|
-
if (location.addChangeListener)
|
248
|
-
location.addChangeListener(Router.handleLocationChange);
|
249
|
-
Router.isRunning = true;
|
250
|
-
}
|
251
|
-
Router.refresh();
|
252
|
-
},
|
253
|
-
refresh: function refresh() {
|
254
|
-
Router.dispatch(location.getCurrentPath(), null);
|
255
|
-
},
|
256
|
-
stop: function stop() {
|
257
|
-
Router.cancelPendingTransition();
|
258
|
-
if (location.removeChangeListener)
|
259
|
-
location.removeChangeListener(Router.handleLocationChange);
|
260
|
-
Router.isRunning = false;
|
261
|
-
},
|
262
|
-
getLocation: function getLocation() {
|
263
|
-
return location;
|
264
|
-
},
|
265
|
-
getScrollBehavior: function getScrollBehavior() {
|
266
|
-
return scrollBehavior;
|
267
|
-
},
|
268
|
-
getRouteAtDepth: function getRouteAtDepth(routeDepth) {
|
269
|
-
var routes = state.routes;
|
270
|
-
return routes && routes[routeDepth];
|
271
|
-
},
|
272
|
-
setRouteComponentAtDepth: function setRouteComponentAtDepth(routeDepth, component) {
|
273
|
-
mountedComponents[routeDepth] = component;
|
274
|
-
},
|
275
|
-
getCurrentPath: function getCurrentPath() {
|
276
|
-
return state.path;
|
277
|
-
},
|
278
|
-
getCurrentPathname: function getCurrentPathname() {
|
279
|
-
return state.pathname;
|
280
|
-
},
|
281
|
-
getCurrentParams: function getCurrentParams() {
|
282
|
-
return state.params;
|
283
|
-
},
|
284
|
-
getCurrentQuery: function getCurrentQuery() {
|
285
|
-
return state.query;
|
286
|
-
},
|
287
|
-
getCurrentRoutes: function getCurrentRoutes() {
|
288
|
-
return state.routes;
|
289
|
-
},
|
290
|
-
isActive: function isActive(to, params, query) {
|
291
|
-
if (PathUtils.isAbsolute(to)) {
|
292
|
-
return to === state.path;
|
293
|
-
}
|
294
|
-
return routeIsActive(state.routes, to) && paramsAreActive(state.params, params) && (query == null || queryIsActive(state.query, query));
|
295
|
-
}
|
296
|
-
},
|
297
|
-
mixins: [ScrollHistory],
|
298
|
-
propTypes: {children: PropTypes.falsy},
|
299
|
-
childContextTypes: {
|
300
|
-
routeDepth: PropTypes.number.isRequired,
|
301
|
-
router: PropTypes.router.isRequired
|
302
|
-
},
|
303
|
-
getChildContext: function getChildContext() {
|
304
|
-
return {
|
305
|
-
routeDepth: 1,
|
306
|
-
router: Router
|
307
|
-
};
|
308
|
-
},
|
309
|
-
getInitialState: function getInitialState() {
|
310
|
-
return state = nextState;
|
311
|
-
},
|
312
|
-
componentWillReceiveProps: function componentWillReceiveProps() {
|
313
|
-
this.setState(state = nextState);
|
314
|
-
},
|
315
|
-
componentWillUnmount: function componentWillUnmount() {
|
316
|
-
Router.stop();
|
317
|
-
},
|
318
|
-
render: function render() {
|
319
|
-
var route = Router.getRouteAtDepth(0);
|
320
|
-
return route ? React.createElement(route.handler, this.props) : null;
|
321
|
-
}
|
322
|
-
});
|
323
|
-
Router.clearAllRoutes();
|
324
|
-
if (options.routes)
|
325
|
-
Router.addRoutes(options.routes);
|
326
|
-
return Router;
|
327
|
-
}
|
328
|
-
module.exports = createRouter;
|
329
|
-
})(require("process"));
|
@@ -1,59 +0,0 @@
|
|
1
|
-
/* */
|
2
|
-
'use strict';
|
3
|
-
var React = require("react");
|
4
|
-
var assign = require("react/lib/Object.assign");
|
5
|
-
var warning = require("react/lib/warning");
|
6
|
-
var DefaultRoute = require("./components/DefaultRoute");
|
7
|
-
var NotFoundRoute = require("./components/NotFoundRoute");
|
8
|
-
var Redirect = require("./components/Redirect");
|
9
|
-
var Route = require("./Route");
|
10
|
-
function checkPropTypes(componentName, propTypes, props) {
|
11
|
-
componentName = componentName || 'UnknownComponent';
|
12
|
-
for (var propName in propTypes) {
|
13
|
-
if (propTypes.hasOwnProperty(propName)) {
|
14
|
-
var error = propTypes[propName](props, propName, componentName);
|
15
|
-
if (error instanceof Error)
|
16
|
-
warning(false, error.message);
|
17
|
-
}
|
18
|
-
}
|
19
|
-
}
|
20
|
-
function createRouteOptions(props) {
|
21
|
-
var options = assign({}, props);
|
22
|
-
var handler = options.handler;
|
23
|
-
if (handler) {
|
24
|
-
options.onEnter = handler.willTransitionTo;
|
25
|
-
options.onLeave = handler.willTransitionFrom;
|
26
|
-
}
|
27
|
-
return options;
|
28
|
-
}
|
29
|
-
function createRouteFromReactElement(element) {
|
30
|
-
if (!React.isValidElement(element)) {
|
31
|
-
return;
|
32
|
-
}
|
33
|
-
var type = element.type;
|
34
|
-
var props = assign({}, type.defaultProps, element.props);
|
35
|
-
if (type.propTypes)
|
36
|
-
checkPropTypes(type.displayName, type.propTypes, props);
|
37
|
-
if (type === DefaultRoute) {
|
38
|
-
return Route.createDefaultRoute(createRouteOptions(props));
|
39
|
-
}
|
40
|
-
if (type === NotFoundRoute) {
|
41
|
-
return Route.createNotFoundRoute(createRouteOptions(props));
|
42
|
-
}
|
43
|
-
if (type === Redirect) {
|
44
|
-
return Route.createRedirect(createRouteOptions(props));
|
45
|
-
}
|
46
|
-
return Route.createRoute(createRouteOptions(props), function() {
|
47
|
-
if (props.children)
|
48
|
-
createRoutesFromReactChildren(props.children);
|
49
|
-
});
|
50
|
-
}
|
51
|
-
function createRoutesFromReactChildren(children) {
|
52
|
-
var routes = [];
|
53
|
-
React.Children.forEach(children, function(child) {
|
54
|
-
if (child = createRouteFromReactElement(child))
|
55
|
-
routes.push(child);
|
56
|
-
});
|
57
|
-
return routes;
|
58
|
-
}
|
59
|
-
module.exports = createRoutesFromReactChildren;
|
@@ -1,19 +0,0 @@
|
|
1
|
-
/* */
|
2
|
-
'use strict';
|
3
|
-
|
4
|
-
var invariant = require('react/lib/invariant');
|
5
|
-
var canUseDOM = require('react/lib/ExecutionEnvironment').canUseDOM;
|
6
|
-
|
7
|
-
/**
|
8
|
-
* Returns the current scroll position of the window as { x, y }.
|
9
|
-
*/
|
10
|
-
function getWindowScrollPosition() {
|
11
|
-
invariant(canUseDOM, 'Cannot get current scroll position without a DOM');
|
12
|
-
|
13
|
-
return {
|
14
|
-
x: window.pageXOffset || document.documentElement.scrollLeft,
|
15
|
-
y: window.pageYOffset || document.documentElement.scrollTop
|
16
|
-
};
|
17
|
-
}
|
18
|
-
|
19
|
-
module.exports = getWindowScrollPosition;
|
@@ -1,26 +0,0 @@
|
|
1
|
-
/* */
|
2
|
-
'use strict';
|
3
|
-
exports.DefaultRoute = require("./components/DefaultRoute");
|
4
|
-
exports.Link = require("./components/Link");
|
5
|
-
exports.NotFoundRoute = require("./components/NotFoundRoute");
|
6
|
-
exports.Redirect = require("./components/Redirect");
|
7
|
-
exports.Route = require("./components/Route");
|
8
|
-
exports.ActiveHandler = require("./components/RouteHandler");
|
9
|
-
exports.RouteHandler = exports.ActiveHandler;
|
10
|
-
exports.HashLocation = require("./locations/HashLocation");
|
11
|
-
exports.HistoryLocation = require("./locations/HistoryLocation");
|
12
|
-
exports.RefreshLocation = require("./locations/RefreshLocation");
|
13
|
-
exports.StaticLocation = require("./locations/StaticLocation");
|
14
|
-
exports.TestLocation = require("./locations/TestLocation");
|
15
|
-
exports.ImitateBrowserBehavior = require("./behaviors/ImitateBrowserBehavior");
|
16
|
-
exports.ScrollToTopBehavior = require("./behaviors/ScrollToTopBehavior");
|
17
|
-
exports.History = require("./History");
|
18
|
-
exports.Navigation = require("./Navigation");
|
19
|
-
exports.State = require("./State");
|
20
|
-
exports.createRoute = require("./Route").createRoute;
|
21
|
-
exports.createDefaultRoute = require("./Route").createDefaultRoute;
|
22
|
-
exports.createNotFoundRoute = require("./Route").createNotFoundRoute;
|
23
|
-
exports.createRedirect = require("./Route").createRedirect;
|
24
|
-
exports.createRoutesFromReactChildren = require("./createRoutesFromReactChildren");
|
25
|
-
exports.create = require("./createRouter");
|
26
|
-
exports.run = require("./runRouter");
|
@@ -1,14 +0,0 @@
|
|
1
|
-
/* */
|
2
|
-
'use strict';
|
3
|
-
|
4
|
-
var React = require('react');
|
5
|
-
|
6
|
-
function isValidChild(object) {
|
7
|
-
return object == null || React.isValidElement(object);
|
8
|
-
}
|
9
|
-
|
10
|
-
function isReactChildren(object) {
|
11
|
-
return isValidChild(object) || Array.isArray(object) && object.every(isValidChild);
|
12
|
-
}
|
13
|
-
|
14
|
-
module.exports = isReactChildren;
|