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.
- 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;
|