diff --git a/mitmproxy/web/static/app.js b/mitmproxy/web/static/app.js index fb591e318..3c3b384cf 100644 --- a/mitmproxy/web/static/app.js +++ b/mitmproxy/web/static/app.js @@ -458,11 +458,19 @@ var _reduxThunk = require('redux-thunk'); var _reduxThunk2 = _interopRequireDefault(_reduxThunk); +var _reactRouter = require('react-router'); + var _connection = require('./connection'); var _connection2 = _interopRequireDefault(_connection); -var _proxyapp = require('./components/proxyapp.js'); +var _ProxyApp = require('./components/ProxyApp'); + +var _ProxyApp2 = _interopRequireDefault(_ProxyApp); + +var _MainView = require('./components/MainView'); + +var _MainView2 = _interopRequireDefault(_MainView); var _index = require('./ducks/index'); @@ -473,24 +481,546 @@ var _eventLog = require('./ducks/eventLog'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // logger must be last -var logger = (0, _reduxLogger2.default)(); -var store = (0, _redux.createStore)(_index2.default, (0, _redux.applyMiddleware)(_reduxThunk2.default, logger)); +var store = (0, _redux.createStore)(_index2.default, (0, _redux.applyMiddleware)(_reduxThunk2.default, (0, _reduxLogger2.default)())); -window.onerror = function (msg) { +window.addEventListener('error', function (msg) { store.dispatch((0, _eventLog.addLogEntry)(msg)); -}; +}); +// @todo remove this document.addEventListener('DOMContentLoaded', function () { window.ws = new _connection2.default("/updates", store.dispatch); (0, _reactDom.render)(_react2.default.createElement( _reactRedux.Provider, { store: store }, - _proxyapp.App + _react2.default.createElement( + _reactRouter.Router, + { history: _reactRouter.hashHistory }, + _react2.default.createElement(_reactRouter.Redirect, { from: '/', to: '/flows' }), + _react2.default.createElement( + _reactRouter.Route, + { path: '/', component: _ProxyApp2.default }, + _react2.default.createElement(_reactRouter.Route, { path: 'flows', component: _MainView2.default }), + _react2.default.createElement(_reactRouter.Route, { path: 'flows/:flowId/:detailTab', component: _MainView2.default }) + ) + ) ), document.getElementById("mitmproxy")); }); -},{"./components/proxyapp.js":20,"./connection":21,"./ducks/eventLog":23,"./ducks/index":25,"react":"react","react-dom":"react-dom","react-redux":"react-redux","redux":"redux","redux-logger":"redux-logger","redux-thunk":"redux-thunk"}],4:[function(require,module,exports){ +},{"./components/MainView":4,"./components/ProxyApp":5,"./connection":21,"./ducks/eventLog":23,"./ducks/index":25,"react":"react","react-dom":"react-dom","react-redux":"react-redux","react-router":"react-router","redux":"redux","redux-logger":"redux-logger","redux-thunk":"redux-thunk"}],4:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = require("react"); + +var _react2 = _interopRequireDefault(_react); + +var _actions = require("../actions.js"); + +var _utils = require("../utils.js"); + +var _common = require("./common.js"); + +var _flowtable = require("./flowtable.js"); + +var _flowtable2 = _interopRequireDefault(_flowtable); + +var _index = require("./flowview/index.js"); + +var _index2 = _interopRequireDefault(_index); + +var _reactRedux = require("react-redux"); + +var _flows = require("../ducks/flows"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var MainView = function (_Component) { + _inherits(MainView, _Component); + + function MainView() { + _classCallCheck(this, MainView); + + return _possibleConstructorReturn(this, Object.getPrototypeOf(MainView).apply(this, arguments)); + } + + _createClass(MainView, [{ + key: "componentWillReceiveProps", + + + /** + * @todo move to actions + * @todo replace with mapStateToProps + */ + value: function componentWillReceiveProps(nextProps) { + // Update redux store with route changes + if (nextProps.routeParams.flowId !== (nextProps.selectedFlow || {}).id) { + this.props.selectFlow(nextProps.routeParams.flowId); + } + if (nextProps.location.query[_actions.Query.SEARCH] !== nextProps.filter) { + this.props.setFilter(nextProps.location.query[_actions.Query.SEARCH], false); + } + if (nextProps.location.query[_actions.Query.HIGHLIGHT] !== nextProps.highlight) { + this.props.setHighlight(nextProps.location.query[_actions.Query.HIGHLIGHT], false); + } + } + + /** + * @todo move to actions + */ + + }, { + key: "selectFlow", + value: function selectFlow(flow) { + if (flow) { + this.props.updateLocation("/flows/" + flow.id + "/" + (this.props.routeParams.detailTab || "request")); + } else { + this.props.updateLocation("/flows"); + } + } + + /** + * @todo move to actions + */ + + }, { + key: "selectFlowRelative", + value: function selectFlowRelative(shift) { + var _props = this.props; + var flows = _props.flows; + var routeParams = _props.routeParams; + var selectedFlow = _props.selectedFlow; + + var index = 0; + if (!routeParams.flowId) { + if (shift < 0) { + index = flows.length - 1; + } + } else { + index = Math.min(Math.max(0, flows.indexOf(selectedFlow) + shift), flows.length - 1); + } + this.selectFlow(flows[index]); + } + + /** + * @todo move to actions + */ + + }, { + key: "onMainKeyDown", + value: function onMainKeyDown(e) { + var flow = this.props.selectedFlow; + if (e.ctrlKey) { + return; + } + switch (e.keyCode) { + case _utils.Key.K: + case _utils.Key.UP: + this.selectFlowRelative(-1); + break; + case _utils.Key.J: + case _utils.Key.DOWN: + this.selectFlowRelative(+1); + break; + case _utils.Key.SPACE: + case _utils.Key.PAGE_DOWN: + this.selectFlowRelative(+10); + break; + case _utils.Key.PAGE_UP: + this.selectFlowRelative(-10); + break; + case _utils.Key.END: + this.selectFlowRelative(+1e10); + break; + case _utils.Key.HOME: + this.selectFlowRelative(-1e10); + break; + case _utils.Key.ESC: + this.selectFlow(null); + break; + case _utils.Key.H: + case _utils.Key.LEFT: + if (this.refs.flowDetails) { + this.refs.flowDetails.nextTab(-1); + } + break; + case _utils.Key.L: + case _utils.Key.TAB: + case _utils.Key.RIGHT: + if (this.refs.flowDetails) { + this.refs.flowDetails.nextTab(+1); + } + break; + case _utils.Key.C: + if (e.shiftKey) { + _actions.FlowActions.clear(); + } + break; + case _utils.Key.D: + if (flow) { + if (e.shiftKey) { + _actions.FlowActions.duplicate(flow); + } else { + _actions.FlowActions.delete(flow); + } + } + break; + case _utils.Key.A: + if (e.shiftKey) { + _actions.FlowActions.accept_all(); + } else if (flow && flow.intercepted) { + _actions.FlowActions.accept(flow); + } + break; + case _utils.Key.R: + if (!e.shiftKey && flow) { + _actions.FlowActions.replay(flow); + } + break; + case _utils.Key.V: + if (e.shiftKey && flow && flow.modified) { + _actions.FlowActions.revert(flow); + } + break; + case _utils.Key.E: + if (this.refs.flowDetails) { + this.refs.flowDetails.promptEdit(); + } + break; + case _utils.Key.SHIFT: + break; + default: + console.debug("keydown", e.keyCode); + return; + } + e.preventDefault(); + } + }, { + key: "render", + value: function render() { + var _this2 = this; + + var selectedFlow = this.props.selectedFlow; + + return _react2.default.createElement( + "div", + { className: "main-view" }, + _react2.default.createElement(_flowtable2.default, { + ref: "flowTable", + selectFlow: function selectFlow(flow) { + return _this2.selectFlow(flow); + }, + selected: selectedFlow + }), + selectedFlow && [_react2.default.createElement(_common.Splitter, { key: "splitter" }), _react2.default.createElement(_index2.default, { + key: "flowDetails", + ref: "flowDetails", + tab: this.props.routeParams.detailTab, + query: this.props.query, + updateLocation: this.props.updateLocation, + flow: selectedFlow + })] + ); + } + }]); + + return MainView; +}(_react.Component); + +exports.default = (0, _reactRedux.connect)(function (state) { + return { + flows: state.flows.view, + filter: state.flows.filter, + highlight: state.flows.highlight, + selectedFlow: state.flows.all.byId[state.flows.selected[0]] + }; +}, function (dispatch) { + return { + selectFlow: function selectFlow(flowId) { + return dispatch((0, _flows.selectFlow)(flowId)); + }, + setFilter: function setFilter(filter) { + return dispatch((0, _flows.setFilter)(filter)); + }, + setHighlight: function setHighlight(highlight) { + return dispatch((0, _flows.setHighlight)(highlight)); + } + }; +}, undefined, { withRef: true })(MainView); + +},{"../actions.js":2,"../ducks/flows":24,"../utils.js":32,"./common.js":6,"./flowtable.js":10,"./flowview/index.js":13,"react":"react","react-redux":"react-redux"}],5:[function(require,module,exports){ +"use strict"; + +Object.defineProperty(exports, "__esModule", { + value: true +}); + +var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); + +var _react = require("react"); + +var _react2 = _interopRequireDefault(_react); + +var _reactDom = require("react-dom"); + +var _reactDom2 = _interopRequireDefault(_reactDom); + +var _lodash = require("lodash"); + +var _lodash2 = _interopRequireDefault(_lodash); + +var _reactRedux = require("react-redux"); + +var _common = require("./common.js"); + +var _header = require("./header.js"); + +var _eventlog = require("./eventlog.js"); + +var _eventlog2 = _interopRequireDefault(_eventlog); + +var _footer = require("./footer.js"); + +var _footer2 = _interopRequireDefault(_footer); + +var _store = require("../store/store.js"); + +var _utils = require("../utils.js"); + +function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } + +function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } + +function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } + +function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; } + +var ProxyAppMain = function (_Component) { + _inherits(ProxyAppMain, _Component); + + function ProxyAppMain(props, context) { + _classCallCheck(this, ProxyAppMain); + + var _this = _possibleConstructorReturn(this, Object.getPrototypeOf(ProxyAppMain).call(this, props, context)); + + _this.settingsStore = new _store.SettingsStore(); + + // Default Settings before fetch + _lodash2.default.extend(_this.settingsStore.dict, {}); + + _this.state = { settings: _this.settingsStore.dict }; + + _this.onKeyDown = _this.onKeyDown.bind(_this); + _this.updateLocation = _this.updateLocation.bind(_this); + _this.onSettingsChange = _this.onSettingsChange.bind(_this); + return _this; + } + + /** + * @todo move to actions + */ + + + _createClass(ProxyAppMain, [{ + key: "updateLocation", + value: function updateLocation(pathname, queryUpdate) { + if (pathname === undefined) { + pathname = this.props.location.pathname; + } + var query = this.props.location.query; + var _iteratorNormalCompletion = true; + var _didIteratorError = false; + var _iteratorError = undefined; + + try { + for (var _iterator = Object.keys(queryUpdate || {})[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) { + var key = _step.value; + + query[i] = queryUpdate[i] || undefined; + } + } catch (err) { + _didIteratorError = true; + _iteratorError = err; + } finally { + try { + if (!_iteratorNormalCompletion && _iterator.return) { + _iterator.return(); + } + } finally { + if (_didIteratorError) { + throw _iteratorError; + } + } + } + + this.context.router.replace({ pathname: pathname, query: query }); + } + + /** + * @todo pass in with props + */ + + }, { + key: "getQuery", + value: function getQuery() { + // For whatever reason, react-router always returns the same object, which makes comparing + // the current props with nextProps impossible. As a workaround, we just clone the query object. + return _lodash2.default.clone(this.props.location.query); + } + + /** + * @todo remove settings store + * @todo connect websocket here + * @todo listen to window's key events + */ + + }, { + key: "componentDidMount", + value: function componentDidMount() { + this.focus(); + this.settingsStore.addListener("recalculate", this.onSettingsChange); + } + + /** + * @todo remove settings store + * @todo disconnect websocket here + * @todo stop listening to window's key events + */ + + }, { + key: "componentWillUnmount", + value: function componentWillUnmount() { + this.settingsStore.removeListener("recalculate", this.onSettingsChange); + } + + /** + * @todo move to actions + */ + + }, { + key: "onSettingsChange", + value: function onSettingsChange() { + this.setState({ settings: this.settingsStore.dict }); + } + + /** + * @todo use props + */ + + }, { + key: "getChildContext", + value: function getChildContext() { + return { + returnFocus: this.focus, + location: this.props.location + }; + } + + /** + * @todo remove it + */ + + }, { + key: "focus", + value: function focus() { + document.activeElement.blur(); + window.getSelection().removeAllRanges(); + _reactDom2.default.findDOMNode(this).focus(); + } + + /** + * @todo move to actions + */ + + }, { + key: "onKeyDown", + value: function onKeyDown(e) { + var _this2 = this; + + var name = null; + + switch (e.keyCode) { + case _utils.Key.I: + name = "intercept"; + break; + case _utils.Key.L: + name = "search"; + break; + case _utils.Key.H: + name = "highlight"; + break; + default: + var main = this.refs.view; + if (this.refs.view.getWrappedInstance) { + main = this.refs.view.getWrappedInstance(); + } + if (main.onMainKeyDown) { + main.onMainKeyDown(e); + } + return; // don't prevent default then + } + + if (name) { + (function () { + var headerComponent = _this2.refs.header; + headerComponent.setState({ active: _header.MainMenu }, function () { + headerComponent.refs.active.refs[name].select(); + }); + })(); + } + + e.preventDefault(); + } + }, { + key: "render", + value: function render() { + var _props = this.props; + var showEventLog = _props.showEventLog; + var location = _props.location; + var children = _props.children; + var settings = this.state.settings; + + var query = this.getQuery(); + return _react2.default.createElement( + "div", + { id: "container", tabIndex: "0", onKeyDown: this.onKeyDown }, + _react2.default.createElement(_header.Header, { ref: "header", settings: settings, updateLocation: this.updateLocation, query: query }), + _react2.default.cloneElement(children, { ref: "view", location: location, query: query, updateLocation: this.updateLocation }), + showEventLog && [_react2.default.createElement(_common.Splitter, { key: "splitter", axis: "y" }), _react2.default.createElement(_eventlog2.default, { key: "eventlog" })], + _react2.default.createElement(_footer2.default, { settings: settings }) + ); + } + }]); + + return ProxyAppMain; +}(_react.Component); + +ProxyAppMain.childContextTypes = { + returnFocus: _react.PropTypes.func.isRequired, + location: _react.PropTypes.object.isRequired +}; +ProxyAppMain.contextTypes = { + router: _react.PropTypes.object.isRequired +}; +exports.default = (0, _reactRedux.connect)(function (state) { + return { + showEventLog: state.eventLog.visible + }; +})(ProxyAppMain); + +},{"../store/store.js":31,"../utils.js":32,"./common.js":6,"./eventlog.js":8,"./footer.js":16,"./header.js":17,"lodash":"lodash","react":"react","react-dom":"react-dom","react-redux":"react-redux"}],6:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -709,7 +1239,7 @@ ToggleInputButton.propTypes = { onToggleChanged: _react2.default.PropTypes.func.isRequired }; -},{"../utils.js":32,"lodash":"lodash","react":"react","react-dom":"react-dom"}],5:[function(require,module,exports){ +},{"../utils.js":32,"lodash":"lodash","react":"react","react-dom":"react-dom"}],7:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -967,7 +1497,7 @@ var ValueEditor = exports.ValueEditor = _react2.default.createClass({ } }); -},{"../utils.js":32,"react":"react","react-dom":"react-dom"}],6:[function(require,module,exports){ +},{"../utils.js":32,"react":"react","react-dom":"react-dom"}],8:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -1193,7 +1723,7 @@ var EventLogContainer = (0, _reactRedux.connect)(undefined, function (dispatch) exports.default = EventLogContainer; -},{"../ducks/eventLog":23,"./common":4,"./helpers/AutoScroll":16,"./helpers/VirtualScroll":17,"react":"react","react-dom":"react-dom","react-redux":"react-redux","shallowequal":"shallowequal"}],7:[function(require,module,exports){ +},{"../ducks/eventLog":23,"./common":6,"./helpers/AutoScroll":18,"./helpers/VirtualScroll":19,"react":"react","react-dom":"react-dom","react-redux":"react-redux","shallowequal":"shallowequal"}],9:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -1440,7 +1970,7 @@ var all_columns = [TLSColumn, IconColumn, PathColumn, MethodColumn, StatusColumn exports.default = all_columns; -},{"../flow/utils.js":30,"../utils.js":32,"react":"react"}],8:[function(require,module,exports){ +},{"../flow/utils.js":30,"../utils.js":32,"react":"react"}],10:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -1726,7 +2256,7 @@ var FlowTableContainer = (0, _reactRedux.connect)(function (state) { exports.default = FlowTableContainer; -},{"../ducks/flows":24,"../filt/filt":29,"./flowtable-columns.js":7,"./helpers/AutoScroll":16,"./helpers/VirtualScroll":17,"classnames":"classnames","lodash":"lodash","react":"react","react-dom":"react-dom","react-redux":"react-redux","shallowequal":"shallowequal"}],9:[function(require,module,exports){ +},{"../ducks/flows":24,"../filt/filt":29,"./flowtable-columns.js":9,"./helpers/AutoScroll":18,"./helpers/VirtualScroll":19,"classnames":"classnames","lodash":"lodash","react":"react","react-dom":"react-dom","react-redux":"react-redux","shallowequal":"shallowequal"}],11:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -2080,7 +2610,7 @@ var ContentView = _react2.default.createClass({ exports.default = ContentView; -},{"../../flow/utils.js":30,"../../utils.js":32,"lodash":"lodash","react":"react"}],10:[function(require,module,exports){ +},{"../../flow/utils.js":30,"../../utils.js":32,"lodash":"lodash","react":"react"}],12:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -2348,7 +2878,7 @@ var Details = _react2.default.createClass({ exports.default = Details; -},{"../../utils.js":32,"lodash":"lodash","react":"react"}],11:[function(require,module,exports){ +},{"../../utils.js":32,"lodash":"lodash","react":"react"}],13:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -2452,7 +2982,6 @@ var FlowView = _react2.default.createClass({ } else { active = tabs[0]; } - this.selectTab(active); } var prompt = null; @@ -2477,7 +3006,7 @@ var FlowView = _react2.default.createClass({ exports.default = FlowView; -},{"../prompt.js":19,"./details.js":10,"./messages.js":12,"./nav.js":13,"react":"react"}],12:[function(require,module,exports){ +},{"../prompt.js":20,"./details.js":12,"./messages.js":14,"./nav.js":15,"react":"react"}],14:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -2842,7 +3371,7 @@ var Error = exports.Error = _react2.default.createClass({ } }); -},{"../../actions.js":2,"../../flow/utils.js":30,"../../utils.js":32,"../editor.js":5,"./contentview.js":9,"lodash":"lodash","react":"react","react-dom":"react-dom"}],13:[function(require,module,exports){ +},{"../../actions.js":2,"../../flow/utils.js":30,"../../utils.js":32,"../editor.js":7,"./contentview.js":11,"lodash":"lodash","react":"react","react-dom":"react-dom"}],15:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -2923,7 +3452,7 @@ var Nav = _react2.default.createClass({ exports.default = Nav; -},{"../../actions.js":2,"react":"react"}],14:[function(require,module,exports){ +},{"../../actions.js":2,"react":"react"}],16:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -3025,7 +3554,7 @@ function Footer(_ref) { ); } -},{"../utils.js":32,"./common.js":4,"react":"react"}],15:[function(require,module,exports){ +},{"../utils.js":32,"./common.js":6,"react":"react"}],17:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -3600,7 +4129,7 @@ var Header = exports.Header = _react2.default.createClass({ } }); -},{"../actions.js":2,"../filt/filt.js":29,"../utils.js":32,"./common.js":4,"./eventlog":6,"jquery":"jquery","react":"react","react-dom":"react-dom","react-redux":"react-redux"}],16:[function(require,module,exports){ +},{"../actions.js":2,"../filt/filt.js":29,"../utils.js":32,"./common.js":6,"./eventlog":8,"jquery":"jquery","react":"react","react-dom":"react-dom","react-redux":"react-redux"}],18:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -3666,7 +4195,7 @@ exports.default = function (Component) { }(Component), _class.displayName = Component.name, _temp), Component); }; -},{"react":"react","react-dom":"react-dom"}],17:[function(require,module,exports){ +},{"react":"react","react-dom":"react-dom"}],19:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -3745,212 +4274,7 @@ function calcVScroll(opts) { return { start: start, end: end, paddingTop: paddingTop, paddingBottom: paddingBottom }; } -},{}],18:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); - -var _react = require("react"); - -var _react2 = _interopRequireDefault(_react); - -var _actions = require("../actions.js"); - -var _utils = require("../utils.js"); - -var _common = require("./common.js"); - -var _flowtable = require("./flowtable.js"); - -var _flowtable2 = _interopRequireDefault(_flowtable); - -var _index = require("./flowview/index.js"); - -var _index2 = _interopRequireDefault(_index); - -var _reactRedux = require("react-redux"); - -var _flows = require("../ducks/flows"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -var MainView = _react2.default.createClass({ - displayName: "MainView", - - componentWillReceiveProps: function componentWillReceiveProps(nextProps) { - // Update redux store with route changes - if (nextProps.routeParams.flowId !== (nextProps.selectedFlow || {}).id) { - this.props.selectFlow(nextProps.routeParams.flowId); - } - if (nextProps.location.query[_actions.Query.SEARCH] !== nextProps.filter) { - this.props.setFilter(nextProps.location.query[_actions.Query.SEARCH], false); - } - if (nextProps.location.query[_actions.Query.HIGHLIGHT] !== nextProps.highlight) { - this.props.setHighlight(nextProps.location.query[_actions.Query.HIGHLIGHT], false); - } - }, - selectFlow: function selectFlow(flow) { - // TODO: This belongs into redux - if (flow) { - var tab = this.props.routeParams.detailTab || "request"; - this.props.updateLocation("/flows/" + flow.id + "/" + tab); - } else { - this.props.updateLocation("/flows"); - } - }, - selectFlowRelative: function selectFlowRelative(shift) { - // TODO: This belongs into redux - var flows = this.props.flows, - index = void 0; - if (!this.props.routeParams.flowId) { - if (shift < 0) { - index = flows.length - 1; - } else { - index = 0; - } - } else { - index = flows.indexOf(this.props.selectedFlow); - index = Math.min(Math.max(0, index + shift), flows.length - 1); - } - this.selectFlow(flows[index]); - }, - onMainKeyDown: function onMainKeyDown(e) { - var flow = this.props.selectedFlow; - if (e.ctrlKey) { - return; - } - switch (e.keyCode) { - case _utils.Key.K: - case _utils.Key.UP: - this.selectFlowRelative(-1); - break; - case _utils.Key.J: - case _utils.Key.DOWN: - this.selectFlowRelative(+1); - break; - case _utils.Key.SPACE: - case _utils.Key.PAGE_DOWN: - this.selectFlowRelative(+10); - break; - case _utils.Key.PAGE_UP: - this.selectFlowRelative(-10); - break; - case _utils.Key.END: - this.selectFlowRelative(+1e10); - break; - case _utils.Key.HOME: - this.selectFlowRelative(-1e10); - break; - case _utils.Key.ESC: - this.selectFlow(null); - break; - case _utils.Key.H: - case _utils.Key.LEFT: - if (this.refs.flowDetails) { - this.refs.flowDetails.nextTab(-1); - } - break; - case _utils.Key.L: - case _utils.Key.TAB: - case _utils.Key.RIGHT: - if (this.refs.flowDetails) { - this.refs.flowDetails.nextTab(+1); - } - break; - case _utils.Key.C: - if (e.shiftKey) { - _actions.FlowActions.clear(); - } - break; - case _utils.Key.D: - if (flow) { - if (e.shiftKey) { - _actions.FlowActions.duplicate(flow); - } else { - _actions.FlowActions.delete(flow); - } - } - break; - case _utils.Key.A: - if (e.shiftKey) { - _actions.FlowActions.accept_all(); - } else if (flow && flow.intercepted) { - _actions.FlowActions.accept(flow); - } - break; - case _utils.Key.R: - if (!e.shiftKey && flow) { - _actions.FlowActions.replay(flow); - } - break; - case _utils.Key.V: - if (e.shiftKey && flow && flow.modified) { - _actions.FlowActions.revert(flow); - } - break; - case _utils.Key.E: - if (this.refs.flowDetails) { - this.refs.flowDetails.promptEdit(); - } - break; - case _utils.Key.SHIFT: - break; - default: - console.debug("keydown", e.keyCode); - return; - } - e.preventDefault(); - }, - render: function render() { - - var details = null; - if (this.props.selectedFlow) { - details = [_react2.default.createElement(_common.Splitter, { key: "splitter" }), _react2.default.createElement(_index2.default, { - key: "flowDetails", - ref: "flowDetails", - tab: this.props.routeParams.detailTab, - query: this.props.query, - updateLocation: this.props.updateLocation, - flow: this.props.selectedFlow })]; - } - - return _react2.default.createElement( - "div", - { className: "main-view" }, - _react2.default.createElement(_flowtable2.default, { ref: "flowTable", - selectFlow: this.selectFlow, - selected: this.props.selectedFlow }), - details - ); - } -}); - -var MainViewContainer = (0, _reactRedux.connect)(function (state) { - return { - flows: state.flows.view, - filter: state.flows.filter, - highlight: state.flows.highlight, - selectedFlow: state.flows.all.byId[state.flows.selected[0]] - }; -}, function (dispatch) { - return { - selectFlow: function selectFlow(flowId) { - return dispatch((0, _flows.selectFlow)(flowId)); - }, - setFilter: function setFilter(filter) { - return dispatch((0, _flows.setFilter)(filter)); - }, - setHighlight: function setHighlight(highlight) { - return dispatch((0, _flows.setHighlight)(highlight)); - } - }; -}, undefined, { withRef: true })(MainView); - -exports.default = MainViewContainer; - -},{"../actions.js":2,"../ducks/flows":24,"../utils.js":32,"./common.js":4,"./flowtable.js":8,"./flowview/index.js":11,"react":"react","react-redux":"react-redux"}],19:[function(require,module,exports){ +},{}],20:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -4086,195 +4410,7 @@ var Prompt = _react2.default.createClass({ exports.default = Prompt; -},{"../utils.js":32,"lodash":"lodash","react":"react","react-dom":"react-dom"}],20:[function(require,module,exports){ -"use strict"; - -Object.defineProperty(exports, "__esModule", { - value: true -}); -exports.App = undefined; - -var _react = require("react"); - -var _react2 = _interopRequireDefault(_react); - -var _reactDom = require("react-dom"); - -var _reactDom2 = _interopRequireDefault(_reactDom); - -var _lodash = require("lodash"); - -var _lodash2 = _interopRequireDefault(_lodash); - -var _reactRedux = require("react-redux"); - -var _reactRouter = require("react-router"); - -var _common = require("./common.js"); - -var _mainview = require("./mainview.js"); - -var _mainview2 = _interopRequireDefault(_mainview); - -var _footer = require("./footer.js"); - -var _footer2 = _interopRequireDefault(_footer); - -var _header = require("./header.js"); - -var _eventlog = require("./eventlog.js"); - -var _eventlog2 = _interopRequireDefault(_eventlog); - -var _store = require("../store/store.js"); - -var _utils = require("../utils.js"); - -function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } - -//TODO: Move out of here, just a stub. -var Reports = _react2.default.createClass({ - displayName: "Reports", - - render: function render() { - return _react2.default.createElement( - "div", - null, - "ReportEditor" - ); - } -}); - -var ProxyAppMain = _react2.default.createClass({ - displayName: "ProxyAppMain", - - childContextTypes: { - returnFocus: _react2.default.PropTypes.func.isRequired, - location: _react2.default.PropTypes.object.isRequired - }, - contextTypes: { - router: _react2.default.PropTypes.object.isRequired - }, - updateLocation: function updateLocation(pathname, queryUpdate) { - if (pathname === undefined) { - pathname = this.props.location.pathname; - } - var query = this.props.location.query; - if (queryUpdate !== undefined) { - for (var i in queryUpdate) { - if (queryUpdate.hasOwnProperty(i)) { - query[i] = queryUpdate[i] || undefined; //falsey values shall be removed. - } - } - } - this.context.router.replace({ pathname: pathname, query: query }); - }, - getQuery: function getQuery() { - // For whatever reason, react-router always returns the same object, which makes comparing - // the current props with nextProps impossible. As a workaround, we just clone the query object. - return _lodash2.default.clone(this.props.location.query); - }, - componentDidMount: function componentDidMount() { - this.focus(); - this.settingsStore.addListener("recalculate", this.onSettingsChange); - }, - componentWillUnmount: function componentWillUnmount() { - this.settingsStore.removeListener("recalculate", this.onSettingsChange); - }, - onSettingsChange: function onSettingsChange() { - this.setState({ settings: this.settingsStore.dict }); - }, - getChildContext: function getChildContext() { - return { - returnFocus: this.focus, - location: this.props.location - }; - }, - getInitialState: function getInitialState() { - var settingsStore = new _store.SettingsStore(); - - this.settingsStore = settingsStore; - // Default Settings before fetch - _lodash2.default.extend(settingsStore.dict, {}); - return { - settings: settingsStore.dict - }; - }, - focus: function focus() { - document.activeElement.blur(); - window.getSelection().removeAllRanges(); - _reactDom2.default.findDOMNode(this).focus(); - }, - getMainComponent: function getMainComponent() { - return this.refs.view.getWrappedInstance ? this.refs.view.getWrappedInstance() : this.refs.view; - }, - onKeydown: function onKeydown(e) { - - var selectFilterInput = function (name) { - var headerComponent = this.refs.header; - headerComponent.setState({ active: _header.MainMenu }, function () { - headerComponent.refs.active.refs[name].select(); - }); - }.bind(this); - - switch (e.keyCode) { - case _utils.Key.I: - selectFilterInput("intercept"); - break; - case _utils.Key.L: - selectFilterInput("search"); - break; - case _utils.Key.H: - selectFilterInput("highlight"); - break; - default: - var main = this.getMainComponent(); - if (main.onMainKeyDown) { - main.onMainKeyDown(e); - } - return; // don't prevent default then - } - e.preventDefault(); - }, - render: function render() { - var query = this.getQuery(); - var eventlog; - if (this.props.showEventLog) { - eventlog = [_react2.default.createElement(_common.Splitter, { key: "splitter", axis: "y" }), _react2.default.createElement(_eventlog2.default, { key: "eventlog" })]; - } else { - eventlog = null; - } - return _react2.default.createElement( - "div", - { id: "container", tabIndex: "0", onKeyDown: this.onKeydown }, - _react2.default.createElement(_header.Header, { ref: "header", settings: this.state.settings, updateLocation: this.updateLocation, query: query }), - _react2.default.cloneElement(this.props.children, { ref: "view", location: this.props.location, updateLocation: this.updateLocation, query: query }), - eventlog, - _react2.default.createElement(_footer2.default, { settings: this.state.settings }) - ); - } -}); - -var AppContainer = (0, _reactRedux.connect)(function (state) { - return { - showEventLog: state.eventLog.visible - }; -})(ProxyAppMain); - -var App = exports.App = _react2.default.createElement( - _reactRouter.Router, - { history: _reactRouter.hashHistory }, - _react2.default.createElement(_reactRouter.Redirect, { from: "/", to: "/flows" }), - _react2.default.createElement( - _reactRouter.Route, - { path: "/", component: AppContainer }, - _react2.default.createElement(_reactRouter.Route, { path: "flows", component: _mainview2.default }), - _react2.default.createElement(_reactRouter.Route, { path: "flows/:flowId/:detailTab", component: _mainview2.default }), - _react2.default.createElement(_reactRouter.Route, { path: "reports", component: Reports }) - ) -); - -},{"../store/store.js":31,"../utils.js":32,"./common.js":4,"./eventlog.js":6,"./footer.js":14,"./header.js":15,"./mainview.js":18,"lodash":"lodash","react":"react","react-dom":"react-dom","react-redux":"react-redux","react-router":"react-router"}],21:[function(require,module,exports){ +},{"../utils.js":32,"lodash":"lodash","react":"react","react-dom":"react-dom"}],21:[function(require,module,exports){ "use strict"; Object.defineProperty(exports, "__esModule", { @@ -4606,7 +4742,7 @@ function selectFlow(flowId) { exports.updateFlows = updateList; exports.fetchFlows = fetchList; -},{"../components/flowtable-columns.js":7,"../filt/filt":29,"../utils.js":32,"./utils/list":26,"./utils/view":27}],25:[function(require,module,exports){ +},{"../components/flowtable-columns.js":9,"../filt/filt":29,"../utils.js":32,"./utils/list":26,"./utils/view":27}],25:[function(require,module,exports){ 'use strict'; Object.defineProperty(exports, "__esModule", { @@ -5030,7 +5166,7 @@ var CONNECTED = 'WEBSOCKET_CONNECTED'; var DISCONNECTED = 'WEBSOCKET_DISCONNECTED'; var defaultState = { - connected: true + connected: false }; /* we may want to have an error message attribute here at some point */ function reducer() { @@ -7337,5 +7473,3 @@ function fetchApi(url, options) { },{"./actions.js":2,"jquery":"jquery","lodash":"lodash","react":"react"}]},{},[3]) - -//# sourceMappingURL=app.js.map diff --git a/mitmproxy/web/static/vendor.js b/mitmproxy/web/static/vendor.js index caf49f63f..e506f910b 100644 --- a/mitmproxy/web/static/vendor.js +++ b/mitmproxy/web/static/vendor.js @@ -180,7 +180,7 @@ var invariant = function (condition, format, a, b, c, d, e, f) { module.exports = invariant; }).call(this,require('_process')) -},{"_process":33}],5:[function(require,module,exports){ +},{"_process":32}],5:[function(require,module,exports){ (function (process){ /** * Copyright (c) 2014-2015, Facebook, Inc. @@ -415,7 +415,7 @@ var Dispatcher = (function () { module.exports = Dispatcher; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/invariant":4}],6:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/invariant":4}],6:[function(require,module,exports){ /** * Indicates that navigation was caused by a call to history.push. */ @@ -583,7 +583,7 @@ function readState(key) { } }).call(this,require('_process')) -},{"_process":33,"warning":249}],9:[function(require,module,exports){ +},{"_process":32,"warning":250}],9:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -716,7 +716,7 @@ function parsePath(path) { } }).call(this,require('_process')) -},{"_process":33,"warning":249}],12:[function(require,module,exports){ +},{"_process":32,"warning":250}],12:[function(require,module,exports){ (function (process){ 'use strict'; @@ -900,7 +900,7 @@ exports['default'] = createBrowserHistory; module.exports = exports['default']; }).call(this,require('_process')) -},{"./Actions":6,"./DOMStateStorage":8,"./DOMUtils":9,"./ExecutionEnvironment":10,"./PathUtils":11,"./createDOMHistory":13,"_process":33,"invariant":23}],13:[function(require,module,exports){ +},{"./Actions":6,"./DOMStateStorage":8,"./DOMUtils":9,"./ExecutionEnvironment":10,"./PathUtils":11,"./createDOMHistory":13,"_process":32,"invariant":23}],13:[function(require,module,exports){ (function (process){ 'use strict'; @@ -944,7 +944,7 @@ exports['default'] = createDOMHistory; module.exports = exports['default']; }).call(this,require('_process')) -},{"./DOMUtils":9,"./ExecutionEnvironment":10,"./createHistory":15,"_process":33,"invariant":23}],14:[function(require,module,exports){ +},{"./DOMUtils":9,"./ExecutionEnvironment":10,"./createHistory":15,"_process":32,"invariant":23}],14:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1194,7 +1194,7 @@ exports['default'] = createHashHistory; module.exports = exports['default']; }).call(this,require('_process')) -},{"./Actions":6,"./DOMStateStorage":8,"./DOMUtils":9,"./ExecutionEnvironment":10,"./PathUtils":11,"./createDOMHistory":13,"_process":33,"invariant":23,"warning":249}],15:[function(require,module,exports){ +},{"./Actions":6,"./DOMStateStorage":8,"./DOMUtils":9,"./ExecutionEnvironment":10,"./PathUtils":11,"./createDOMHistory":13,"_process":32,"invariant":23,"warning":250}],15:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1486,7 +1486,7 @@ exports['default'] = createHistory; module.exports = exports['default']; }).call(this,require('_process')) -},{"./Actions":6,"./AsyncUtils":7,"./PathUtils":11,"./createLocation":16,"./deprecate":18,"./runTransitionHook":19,"_process":33,"deep-equal":1,"warning":249}],16:[function(require,module,exports){ +},{"./Actions":6,"./AsyncUtils":7,"./PathUtils":11,"./createLocation":16,"./deprecate":18,"./runTransitionHook":19,"_process":32,"deep-equal":1,"warning":250}],16:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1541,7 +1541,7 @@ exports['default'] = createLocation; module.exports = exports['default']; }).call(this,require('_process')) -},{"./Actions":6,"./PathUtils":11,"_process":33,"warning":249}],17:[function(require,module,exports){ +},{"./Actions":6,"./PathUtils":11,"_process":32,"warning":250}],17:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1699,7 +1699,7 @@ exports['default'] = createMemoryHistory; module.exports = exports['default']; }).call(this,require('_process')) -},{"./Actions":6,"./PathUtils":11,"./createHistory":15,"_process":33,"invariant":23,"warning":249}],18:[function(require,module,exports){ +},{"./Actions":6,"./PathUtils":11,"./createHistory":15,"_process":32,"invariant":23,"warning":250}],18:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1722,7 +1722,7 @@ exports['default'] = deprecate; module.exports = exports['default']; }).call(this,require('_process')) -},{"_process":33,"warning":249}],19:[function(require,module,exports){ +},{"_process":32,"warning":250}],19:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1750,7 +1750,7 @@ exports['default'] = runTransitionHook; module.exports = exports['default']; }).call(this,require('_process')) -},{"_process":33,"warning":249}],20:[function(require,module,exports){ +},{"_process":32,"warning":250}],20:[function(require,module,exports){ (function (process){ 'use strict'; @@ -1912,7 +1912,7 @@ exports['default'] = useBasename; module.exports = exports['default']; }).call(this,require('_process')) -},{"./ExecutionEnvironment":10,"./PathUtils":11,"./deprecate":18,"./runTransitionHook":19,"_process":33,"warning":249}],21:[function(require,module,exports){ +},{"./ExecutionEnvironment":10,"./PathUtils":11,"./deprecate":18,"./runTransitionHook":19,"_process":32,"warning":250}],21:[function(require,module,exports){ (function (process){ 'use strict'; @@ -2092,7 +2092,7 @@ exports['default'] = useQueries; module.exports = exports['default']; }).call(this,require('_process')) -},{"./PathUtils":11,"./deprecate":18,"./runTransitionHook":19,"_process":33,"query-string":34,"warning":249}],22:[function(require,module,exports){ +},{"./PathUtils":11,"./deprecate":18,"./runTransitionHook":19,"_process":32,"query-string":33,"warning":250}],22:[function(require,module,exports){ /** * Copyright 2015, Yahoo! Inc. * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms. @@ -2192,7 +2192,7 @@ module.exports = invariant; }).call(this,require('_process')) -},{"_process":33}],24:[function(require,module,exports){ +},{"_process":32}],24:[function(require,module,exports){ /** * lodash 3.9.1 (Custom Build) * Build: `lodash modern modularize exports="npm" -o ./` @@ -3139,91 +3139,6 @@ function isPlainObject(value) { module.exports = isPlainObject; },{"./_getPrototype":28,"./_isHostObject":29,"./isObjectLike":30}],32:[function(require,module,exports){ -'use strict'; -/* eslint-disable no-unused-vars */ -var hasOwnProperty = Object.prototype.hasOwnProperty; -var propIsEnumerable = Object.prototype.propertyIsEnumerable; - -function toObject(val) { - if (val === null || val === undefined) { - throw new TypeError('Object.assign cannot be called with null or undefined'); - } - - return Object(val); -} - -function shouldUseNative() { - try { - if (!Object.assign) { - return false; - } - - // Detect buggy property enumeration order in older V8 versions. - - // https://bugs.chromium.org/p/v8/issues/detail?id=4118 - var test1 = new String('abc'); // eslint-disable-line - test1[5] = 'de'; - if (Object.getOwnPropertyNames(test1)[0] === '5') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test2 = {}; - for (var i = 0; i < 10; i++) { - test2['_' + String.fromCharCode(i)] = i; - } - var order2 = Object.getOwnPropertyNames(test2).map(function (n) { - return test2[n]; - }); - if (order2.join('') !== '0123456789') { - return false; - } - - // https://bugs.chromium.org/p/v8/issues/detail?id=3056 - var test3 = {}; - 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { - test3[letter] = letter; - }); - if (Object.keys(Object.assign({}, test3)).join('') !== - 'abcdefghijklmnopqrst') { - return false; - } - - return true; - } catch (e) { - // We don't expect any of the above to throw, but better to be safe. - return false; - } -} - -module.exports = shouldUseNative() ? Object.assign : function (target, source) { - var from; - var to = toObject(target); - var symbols; - - for (var s = 1; s < arguments.length; s++) { - from = Object(arguments[s]); - - for (var key in from) { - if (hasOwnProperty.call(from, key)) { - to[key] = from[key]; - } - } - - if (Object.getOwnPropertySymbols) { - symbols = Object.getOwnPropertySymbols(from); - for (var i = 0; i < symbols.length; i++) { - if (propIsEnumerable.call(from, symbols[i])) { - to[symbols[i]] = from[symbols[i]]; - } - } - } - } - - return to; -}; - -},{}],33:[function(require,module,exports){ // shim for using process in browser var process = module.exports = {}; @@ -3233,9 +3148,6 @@ var currentQueue; var queueIndex = -1; function cleanUpNextTick() { - if (!draining || !currentQueue) { - return; - } draining = false; if (currentQueue.length) { queue = currentQueue.concat(queue); @@ -3319,7 +3231,7 @@ process.chdir = function (dir) { }; process.umask = function() { return 0; }; -},{}],34:[function(require,module,exports){ +},{}],33:[function(require,module,exports){ 'use strict'; var strictUriEncode = require('strict-uri-encode'); @@ -3387,7 +3299,7 @@ exports.stringify = function (obj) { }).join('&') : ''; }; -},{"strict-uri-encode":246}],35:[function(require,module,exports){ +},{"strict-uri-encode":247}],34:[function(require,module,exports){ (function (process){ 'use strict'; @@ -3469,7 +3381,7 @@ Provider.childContextTypes = { }; }).call(this,require('_process')) -},{"../utils/storeShape":38,"../utils/warning":39,"_process":33,"react":"react"}],36:[function(require,module,exports){ +},{"../utils/storeShape":37,"../utils/warning":38,"_process":32,"react":"react"}],35:[function(require,module,exports){ (function (process){ 'use strict'; @@ -3866,7 +3778,7 @@ function connect(mapStateToProps, mapDispatchToProps, mergeProps) { } }).call(this,require('_process')) -},{"../utils/shallowEqual":37,"../utils/storeShape":38,"../utils/warning":39,"../utils/wrapActionCreators":40,"_process":33,"hoist-non-react-statics":22,"invariant":23,"lodash/isPlainObject":31,"react":"react"}],37:[function(require,module,exports){ +},{"../utils/shallowEqual":36,"../utils/storeShape":37,"../utils/warning":38,"../utils/wrapActionCreators":39,"_process":32,"hoist-non-react-statics":22,"invariant":23,"lodash/isPlainObject":31,"react":"react"}],36:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -3893,7 +3805,7 @@ function shallowEqual(objA, objB) { return true; } -},{}],38:[function(require,module,exports){ +},{}],37:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -3905,7 +3817,7 @@ exports["default"] = _react.PropTypes.shape({ dispatch: _react.PropTypes.func.isRequired, getState: _react.PropTypes.func.isRequired }); -},{"react":"react"}],39:[function(require,module,exports){ +},{"react":"react"}],38:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -3930,7 +3842,7 @@ function warning(message) { } catch (e) {} /* eslint-enable no-empty */ } -},{}],40:[function(require,module,exports){ +},{}],39:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -3943,7 +3855,7 @@ function wrapActionCreators(actionCreators) { return (0, _redux.bindActionCreators)(actionCreators, dispatch); }; } -},{"redux":"redux"}],41:[function(require,module,exports){ +},{"redux":"redux"}],40:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -4032,7 +3944,7 @@ function mapAsync(array, work, callback) { }); }); } -},{}],42:[function(require,module,exports){ +},{}],41:[function(require,module,exports){ (function (process){ 'use strict'; @@ -4065,7 +3977,7 @@ exports.default = History; module.exports = exports['default']; }).call(this,require('_process')) -},{"./InternalPropTypes":46,"./routerWarning":73,"_process":33}],43:[function(require,module,exports){ +},{"./InternalPropTypes":45,"./routerWarning":72,"_process":32}],42:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -4094,7 +4006,7 @@ var IndexLink = _react2.default.createClass({ exports.default = IndexLink; module.exports = exports['default']; -},{"./Link":48,"react":"react"}],44:[function(require,module,exports){ +},{"./Link":47,"react":"react"}],43:[function(require,module,exports){ (function (process){ 'use strict'; @@ -4161,7 +4073,7 @@ exports.default = IndexRedirect; module.exports = exports['default']; }).call(this,require('_process')) -},{"./InternalPropTypes":46,"./Redirect":51,"./routerWarning":73,"_process":33,"invariant":23,"react":"react"}],45:[function(require,module,exports){ +},{"./InternalPropTypes":45,"./Redirect":50,"./routerWarning":72,"_process":32,"invariant":76,"react":"react"}],44:[function(require,module,exports){ (function (process){ 'use strict'; @@ -4225,7 +4137,7 @@ exports.default = IndexRoute; module.exports = exports['default']; }).call(this,require('_process')) -},{"./InternalPropTypes":46,"./RouteUtils":54,"./routerWarning":73,"_process":33,"invariant":23,"react":"react"}],46:[function(require,module,exports){ +},{"./InternalPropTypes":45,"./RouteUtils":53,"./routerWarning":72,"_process":32,"invariant":76,"react":"react"}],45:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -4258,7 +4170,7 @@ var component = exports.component = oneOfType([func, string]); var components = exports.components = oneOfType([component, object]); var route = exports.route = oneOfType([object, element]); var routes = exports.routes = oneOfType([route, arrayOf(route)]); -},{"react":"react"}],47:[function(require,module,exports){ +},{"react":"react"}],46:[function(require,module,exports){ (function (process){ 'use strict'; @@ -4330,7 +4242,7 @@ exports.default = Lifecycle; module.exports = exports['default']; }).call(this,require('_process')) -},{"./routerWarning":73,"_process":33,"invariant":23,"react":"react"}],48:[function(require,module,exports){ +},{"./routerWarning":72,"_process":32,"invariant":76,"react":"react"}],47:[function(require,module,exports){ (function (process){ 'use strict'; @@ -4507,7 +4419,7 @@ exports.default = Link; module.exports = exports['default']; }).call(this,require('_process')) -},{"./PropTypes":50,"./routerWarning":73,"_process":33,"react":"react"}],49:[function(require,module,exports){ +},{"./PropTypes":49,"./routerWarning":72,"_process":32,"react":"react"}],48:[function(require,module,exports){ (function (process){ 'use strict'; @@ -4723,7 +4635,7 @@ function formatPattern(pattern, params) { } }).call(this,require('_process')) -},{"_process":33,"invariant":23}],50:[function(require,module,exports){ +},{"_process":32,"invariant":76}],49:[function(require,module,exports){ (function (process){ 'use strict'; @@ -4828,7 +4740,7 @@ if (process.env.NODE_ENV !== 'production') { exports.default = defaultExport; }).call(this,require('_process')) -},{"./InternalPropTypes":46,"./deprecateObjectProperties":66,"./routerWarning":73,"_process":33,"react":"react"}],51:[function(require,module,exports){ +},{"./InternalPropTypes":45,"./deprecateObjectProperties":65,"./routerWarning":72,"_process":32,"react":"react"}],50:[function(require,module,exports){ (function (process){ 'use strict'; @@ -4934,7 +4846,7 @@ exports.default = Redirect; module.exports = exports['default']; }).call(this,require('_process')) -},{"./InternalPropTypes":46,"./PatternUtils":49,"./RouteUtils":54,"_process":33,"invariant":23,"react":"react"}],52:[function(require,module,exports){ +},{"./InternalPropTypes":45,"./PatternUtils":48,"./RouteUtils":53,"_process":32,"invariant":76,"react":"react"}],51:[function(require,module,exports){ (function (process){ 'use strict'; @@ -4995,7 +4907,7 @@ exports.default = Route; module.exports = exports['default']; }).call(this,require('_process')) -},{"./InternalPropTypes":46,"./RouteUtils":54,"_process":33,"invariant":23,"react":"react"}],53:[function(require,module,exports){ +},{"./InternalPropTypes":45,"./RouteUtils":53,"_process":32,"invariant":76,"react":"react"}],52:[function(require,module,exports){ (function (process){ 'use strict'; @@ -5044,7 +4956,7 @@ exports.default = RouteContext; module.exports = exports['default']; }).call(this,require('_process')) -},{"./routerWarning":73,"_process":33,"react":"react"}],54:[function(require,module,exports){ +},{"./routerWarning":72,"_process":32,"react":"react"}],53:[function(require,module,exports){ (function (process){ 'use strict'; @@ -5160,7 +5072,7 @@ function createRoutes(routes) { } }).call(this,require('_process')) -},{"./routerWarning":73,"_process":33,"react":"react"}],55:[function(require,module,exports){ +},{"./routerWarning":72,"_process":32,"react":"react"}],54:[function(require,module,exports){ (function (process){ 'use strict'; @@ -5372,7 +5284,7 @@ exports.default = Router; module.exports = exports['default']; }).call(this,require('_process')) -},{"./InternalPropTypes":46,"./RouteUtils":54,"./RouterContext":56,"./RouterUtils":57,"./createTransitionManager":65,"./routerWarning":73,"_process":33,"history/lib/createHashHistory":14,"history/lib/useQueries":21,"react":"react"}],56:[function(require,module,exports){ +},{"./InternalPropTypes":45,"./RouteUtils":53,"./RouterContext":55,"./RouterUtils":56,"./createTransitionManager":64,"./routerWarning":72,"_process":32,"history/lib/createHashHistory":14,"history/lib/useQueries":21,"react":"react"}],55:[function(require,module,exports){ (function (process){ 'use strict'; @@ -5532,7 +5444,7 @@ exports.default = RouterContext; module.exports = exports['default']; }).call(this,require('_process')) -},{"./RouteUtils":54,"./deprecateObjectProperties":66,"./getRouteParams":68,"./routerWarning":73,"_process":33,"invariant":23,"react":"react"}],57:[function(require,module,exports){ +},{"./RouteUtils":53,"./deprecateObjectProperties":65,"./getRouteParams":67,"./routerWarning":72,"_process":32,"invariant":76,"react":"react"}],56:[function(require,module,exports){ (function (process){ 'use strict'; @@ -5568,7 +5480,7 @@ function createRoutingHistory(history, transitionManager) { } }).call(this,require('_process')) -},{"./deprecateObjectProperties":66,"_process":33}],58:[function(require,module,exports){ +},{"./deprecateObjectProperties":65,"_process":32}],57:[function(require,module,exports){ (function (process){ 'use strict'; @@ -5602,7 +5514,7 @@ exports.default = RoutingContext; module.exports = exports['default']; }).call(this,require('_process')) -},{"./RouterContext":56,"./routerWarning":73,"_process":33,"react":"react"}],59:[function(require,module,exports){ +},{"./RouterContext":55,"./routerWarning":72,"_process":32,"react":"react"}],58:[function(require,module,exports){ (function (process){ 'use strict'; @@ -5728,7 +5640,7 @@ function runLeaveHooks(routes) { } }).call(this,require('_process')) -},{"./AsyncUtils":41,"./routerWarning":73,"_process":33}],60:[function(require,module,exports){ +},{"./AsyncUtils":40,"./routerWarning":72,"_process":32}],59:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -5779,7 +5691,7 @@ exports.default = function () { }; module.exports = exports['default']; -},{"./RouterContext":56,"react":"react"}],61:[function(require,module,exports){ +},{"./RouterContext":55,"react":"react"}],60:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -5796,7 +5708,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de exports.default = (0, _createRouterHistory2.default)(_createBrowserHistory2.default); module.exports = exports['default']; -},{"./createRouterHistory":64,"history/lib/createBrowserHistory":12}],62:[function(require,module,exports){ +},{"./createRouterHistory":63,"history/lib/createBrowserHistory":12}],61:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -5874,7 +5786,7 @@ function computeChangedRoutes(prevState, nextState) { exports.default = computeChangedRoutes; module.exports = exports['default']; -},{"./PatternUtils":49}],63:[function(require,module,exports){ +},{"./PatternUtils":48}],62:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -5907,7 +5819,7 @@ function createMemoryHistory(options) { return history; } module.exports = exports['default']; -},{"history/lib/createMemoryHistory":17,"history/lib/useBasename":20,"history/lib/useQueries":21}],64:[function(require,module,exports){ +},{"history/lib/createMemoryHistory":17,"history/lib/useBasename":20,"history/lib/useQueries":21}],63:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -5927,7 +5839,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de var canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement); module.exports = exports['default']; -},{"./useRouterHistory":74}],65:[function(require,module,exports){ +},{"./useRouterHistory":73}],64:[function(require,module,exports){ (function (process){ 'use strict'; @@ -6238,7 +6150,7 @@ function createTransitionManager(history, routes) { module.exports = exports['default']; }).call(this,require('_process')) -},{"./TransitionUtils":59,"./computeChangedRoutes":62,"./getComponents":67,"./isActive":70,"./matchRoutes":72,"./routerWarning":73,"_process":33,"history/lib/Actions":6}],66:[function(require,module,exports){ +},{"./TransitionUtils":58,"./computeChangedRoutes":61,"./getComponents":66,"./isActive":69,"./matchRoutes":71,"./routerWarning":72,"_process":32,"history/lib/Actions":6}],65:[function(require,module,exports){ (function (process){ 'use strict'; @@ -6317,7 +6229,7 @@ if (process.env.NODE_ENV !== 'production') { exports.default = deprecateObjectProperties; }).call(this,require('_process')) -},{"./routerWarning":73,"_process":33}],67:[function(require,module,exports){ +},{"./routerWarning":72,"_process":32}],66:[function(require,module,exports){ (function (process){ 'use strict'; @@ -6400,7 +6312,7 @@ exports.default = getComponents; module.exports = exports['default']; }).call(this,require('_process')) -},{"./AsyncUtils":41,"./deprecateObjectProperties":66,"./routerWarning":73,"_process":33}],68:[function(require,module,exports){ +},{"./AsyncUtils":40,"./deprecateObjectProperties":65,"./routerWarning":72,"_process":32}],67:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -6429,7 +6341,7 @@ function getRouteParams(route, params) { exports.default = getRouteParams; module.exports = exports['default']; -},{"./PatternUtils":49}],69:[function(require,module,exports){ +},{"./PatternUtils":48}],68:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -6446,7 +6358,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de exports.default = (0, _createRouterHistory2.default)(_createHashHistory2.default); module.exports = exports['default']; -},{"./createRouterHistory":64,"history/lib/createHashHistory":14}],70:[function(require,module,exports){ +},{"./createRouterHistory":63,"history/lib/createHashHistory":14}],69:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -6599,7 +6511,7 @@ function isActive(_ref, indexOnly, currentLocation, routes, params) { return queryIsActive(query, currentLocation.query); } module.exports = exports['default']; -},{"./PatternUtils":49}],71:[function(require,module,exports){ +},{"./PatternUtils":48}],70:[function(require,module,exports){ (function (process){ 'use strict'; @@ -6684,7 +6596,7 @@ exports.default = match; module.exports = exports['default']; }).call(this,require('_process')) -},{"./RouteUtils":54,"./RouterUtils":57,"./createMemoryHistory":63,"./createTransitionManager":65,"_process":33,"invariant":23}],72:[function(require,module,exports){ +},{"./RouteUtils":53,"./RouterUtils":56,"./createMemoryHistory":62,"./createTransitionManager":64,"_process":32,"invariant":76}],71:[function(require,module,exports){ (function (process){ 'use strict'; @@ -6921,7 +6833,7 @@ function matchRoutes(routes, location, callback, remainingPathname) { module.exports = exports['default']; }).call(this,require('_process')) -},{"./AsyncUtils":41,"./PatternUtils":49,"./RouteUtils":54,"./routerWarning":73,"_process":33}],73:[function(require,module,exports){ +},{"./AsyncUtils":40,"./PatternUtils":48,"./RouteUtils":53,"./routerWarning":72,"_process":32}],72:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -6958,7 +6870,7 @@ function routerWarning(falseToWarn, message) { function _resetWarned() { warned = {}; } -},{"warning":249}],74:[function(require,module,exports){ +},{"warning":250}],73:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -6982,7 +6894,7 @@ function useRouterHistory(createHistory) { }; } module.exports = exports['default']; -},{"history/lib/useBasename":20,"history/lib/useQueries":21}],75:[function(require,module,exports){ +},{"history/lib/useBasename":20,"history/lib/useQueries":21}],74:[function(require,module,exports){ (function (process){ 'use strict'; @@ -7037,7 +6949,7 @@ exports.default = useRoutes; module.exports = exports['default']; }).call(this,require('_process')) -},{"./createTransitionManager":65,"./routerWarning":73,"_process":33,"history/lib/useQueries":21}],76:[function(require,module,exports){ +},{"./createTransitionManager":64,"./routerWarning":72,"_process":32,"history/lib/useQueries":21}],75:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -7078,7 +6990,63 @@ function withRouter(WrappedComponent) { return (0, _hoistNonReactStatics2.default)(WithRouter, WrappedComponent); } module.exports = exports['default']; -},{"./PropTypes":50,"hoist-non-react-statics":22,"react":"react"}],77:[function(require,module,exports){ +},{"./PropTypes":49,"hoist-non-react-statics":22,"react":"react"}],76:[function(require,module,exports){ +(function (process){ +/** + * Copyright 2013-2015, Facebook, Inc. + * All rights reserved. + * + * This source code is licensed under the BSD-style license found in the + * LICENSE file in the root directory of this source tree. An additional grant + * of patent rights can be found in the PATENTS file in the same directory. + */ + +'use strict'; + +/** + * Use invariant() to assert state which your program assumes to be true. + * + * Provide sprintf-style format (only %s is supported) and arguments + * to provide information about what broke and what you were + * expecting. + * + * The invariant message will be stripped in production, but the invariant + * will remain to ensure logic does not differ in production. + */ + +var invariant = function(condition, format, a, b, c, d, e, f) { + if (process.env.NODE_ENV !== 'production') { + if (format === undefined) { + throw new Error('invariant requires an error message argument'); + } + } + + if (!condition) { + var error; + if (format === undefined) { + error = new Error( + 'Minified exception occurred; use the non-minified dev environment ' + + 'for the full error message and additional helpful warnings.' + ); + } else { + var args = [a, b, c, d, e, f]; + var argIndex = 0; + error = new Error( + format.replace(/%s/g, function() { return args[argIndex++]; }) + ); + error.name = 'Invariant Violation'; + } + + error.framesToPop = 1; // we don't care about invariant's own frame + throw error; + } +}; + +module.exports = invariant; + +}).call(this,require('_process')) + +},{"_process":32}],77:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -7850,7 +7818,7 @@ var CSSPropertyOperations = { module.exports = CSSPropertyOperations; }).call(this,require('_process')) -},{"./CSSProperty":79,"./ReactInstrumentation":146,"./dangerousStyleValue":189,"_process":33,"fbjs/lib/ExecutionEnvironment":215,"fbjs/lib/camelizeStyleName":217,"fbjs/lib/hyphenateStyleName":228,"fbjs/lib/memoizeStringOnly":235,"fbjs/lib/warning":239}],81:[function(require,module,exports){ +},{"./CSSProperty":79,"./ReactInstrumentation":146,"./dangerousStyleValue":189,"_process":32,"fbjs/lib/ExecutionEnvironment":215,"fbjs/lib/camelizeStyleName":217,"fbjs/lib/hyphenateStyleName":228,"fbjs/lib/memoizeStringOnly":235,"fbjs/lib/warning":239}],81:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -7959,7 +7927,7 @@ PooledClass.addPoolingTo(CallbackQueue); module.exports = CallbackQueue; }).call(this,require('_process')) -},{"./PooledClass":101,"_process":33,"fbjs/lib/invariant":229,"object-assign":32}],82:[function(require,module,exports){ +},{"./PooledClass":101,"_process":32,"fbjs/lib/invariant":229,"object-assign":240}],82:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -8483,7 +8451,7 @@ var DOMChildrenOperations = { module.exports = DOMChildrenOperations; }).call(this,require('_process')) -},{"./DOMLazyTree":84,"./Danger":88,"./ReactDOMComponentTree":117,"./ReactInstrumentation":146,"./ReactMultiChildUpdateTypes":151,"./createMicrosoftUnsafeLocalFunction":188,"./setInnerHTML":209,"./setTextContent":210,"_process":33}],84:[function(require,module,exports){ +},{"./DOMLazyTree":84,"./Danger":88,"./ReactDOMComponentTree":117,"./ReactInstrumentation":146,"./ReactMultiChildUpdateTypes":151,"./createMicrosoftUnsafeLocalFunction":188,"./setInnerHTML":209,"./setTextContent":210,"_process":32}],84:[function(require,module,exports){ /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. @@ -8839,7 +8807,7 @@ var DOMProperty = { module.exports = DOMProperty; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/invariant":229}],87:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/invariant":229}],87:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -9065,7 +9033,7 @@ var DOMPropertyOperations = { module.exports = DOMPropertyOperations; }).call(this,require('_process')) -},{"./DOMProperty":86,"./ReactDOMComponentTree":117,"./ReactDOMInstrumentation":125,"./ReactInstrumentation":146,"./quoteAttributeValueForBrowser":207,"_process":33,"fbjs/lib/warning":239}],88:[function(require,module,exports){ +},{"./DOMProperty":86,"./ReactDOMComponentTree":117,"./ReactDOMInstrumentation":125,"./ReactInstrumentation":146,"./quoteAttributeValueForBrowser":207,"_process":32,"fbjs/lib/warning":239}],88:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -9213,7 +9181,7 @@ var Danger = { module.exports = Danger; }).call(this,require('_process')) -},{"./DOMLazyTree":84,"_process":33,"fbjs/lib/ExecutionEnvironment":215,"fbjs/lib/createNodesFromMarkup":220,"fbjs/lib/emptyFunction":221,"fbjs/lib/getMarkupWrap":225,"fbjs/lib/invariant":229}],89:[function(require,module,exports){ +},{"./DOMLazyTree":84,"_process":32,"fbjs/lib/ExecutionEnvironment":215,"fbjs/lib/createNodesFromMarkup":220,"fbjs/lib/emptyFunction":221,"fbjs/lib/getMarkupWrap":225,"fbjs/lib/invariant":229}],89:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -9735,7 +9703,7 @@ var EventPluginHub = { module.exports = EventPluginHub; }).call(this,require('_process')) -},{"./EventPluginRegistry":94,"./EventPluginUtils":95,"./ReactErrorUtils":139,"./accumulateInto":185,"./forEachAccumulated":193,"_process":33,"fbjs/lib/invariant":229}],94:[function(require,module,exports){ +},{"./EventPluginRegistry":94,"./EventPluginUtils":95,"./ReactErrorUtils":139,"./accumulateInto":185,"./forEachAccumulated":193,"_process":32,"fbjs/lib/invariant":229}],94:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -9980,7 +9948,7 @@ var EventPluginRegistry = { module.exports = EventPluginRegistry; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/invariant":229}],95:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/invariant":229}],95:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -10211,7 +10179,7 @@ var EventPluginUtils = { module.exports = EventPluginUtils; }).call(this,require('_process')) -},{"./EventConstants":92,"./ReactErrorUtils":139,"_process":33,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],96:[function(require,module,exports){ +},{"./EventConstants":92,"./ReactErrorUtils":139,"_process":32,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],96:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -10352,7 +10320,7 @@ var EventPropagators = { module.exports = EventPropagators; }).call(this,require('_process')) -},{"./EventConstants":92,"./EventPluginHub":93,"./EventPluginUtils":95,"./accumulateInto":185,"./forEachAccumulated":193,"_process":33,"fbjs/lib/warning":239}],97:[function(require,module,exports){ +},{"./EventConstants":92,"./EventPluginHub":93,"./EventPluginUtils":95,"./accumulateInto":185,"./forEachAccumulated":193,"_process":32,"fbjs/lib/warning":239}],97:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -10448,7 +10416,7 @@ _assign(FallbackCompositionState.prototype, { PooledClass.addPoolingTo(FallbackCompositionState); module.exports = FallbackCompositionState; -},{"./PooledClass":101,"./getTextContentAccessor":201,"object-assign":32}],98:[function(require,module,exports){ +},{"./PooledClass":101,"./getTextContentAccessor":201,"object-assign":240}],98:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -10854,7 +10822,7 @@ var LinkedValueUtils = { module.exports = LinkedValueUtils; }).call(this,require('_process')) -},{"./ReactPropTypeLocations":158,"./ReactPropTypes":159,"_process":33,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],101:[function(require,module,exports){ +},{"./ReactPropTypeLocations":158,"./ReactPropTypes":159,"_process":32,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],101:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -10977,7 +10945,7 @@ var PooledClass = { module.exports = PooledClass; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/invariant":229}],102:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/invariant":229}],102:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -11068,7 +11036,7 @@ var React = { module.exports = React; }).call(this,require('_process')) -},{"./ReactChildren":105,"./ReactClass":106,"./ReactComponent":107,"./ReactDOMFactories":121,"./ReactElement":136,"./ReactElementValidator":137,"./ReactPropTypes":159,"./ReactVersion":166,"./onlyChild":206,"_process":33,"fbjs/lib/warning":239,"object-assign":32}],103:[function(require,module,exports){ +},{"./ReactChildren":105,"./ReactClass":106,"./ReactComponent":107,"./ReactDOMFactories":121,"./ReactElement":136,"./ReactElementValidator":137,"./ReactPropTypes":159,"./ReactVersion":166,"./onlyChild":206,"_process":32,"fbjs/lib/warning":239,"object-assign":240}],103:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -11386,7 +11354,7 @@ var ReactBrowserEventEmitter = _assign({}, ReactEventEmitterMixin, { }); module.exports = ReactBrowserEventEmitter; -},{"./EventConstants":92,"./EventPluginRegistry":94,"./ReactEventEmitterMixin":140,"./ViewportMetrics":184,"./getVendorPrefixedEventName":202,"./isEventSupported":204,"object-assign":32}],104:[function(require,module,exports){ +},{"./EventConstants":92,"./EventPluginRegistry":94,"./ReactEventEmitterMixin":140,"./ViewportMetrics":184,"./getVendorPrefixedEventName":202,"./isEventSupported":204,"object-assign":240}],104:[function(require,module,exports){ (function (process){ /** * Copyright 2014-present, Facebook, Inc. @@ -11515,7 +11483,7 @@ var ReactChildReconciler = { module.exports = ReactChildReconciler; }).call(this,require('_process')) -},{"./KeyEscapeUtils":99,"./ReactReconciler":161,"./instantiateReactComponent":203,"./shouldUpdateReactComponent":211,"./traverseAllChildren":212,"_process":33,"fbjs/lib/warning":239}],105:[function(require,module,exports){ +},{"./KeyEscapeUtils":99,"./ReactReconciler":161,"./instantiateReactComponent":203,"./shouldUpdateReactComponent":211,"./traverseAllChildren":212,"_process":32,"fbjs/lib/warning":239}],105:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -12435,7 +12403,7 @@ var ReactClass = { module.exports = ReactClass; }).call(this,require('_process')) -},{"./ReactComponent":107,"./ReactElement":136,"./ReactNoopUpdateQueue":155,"./ReactPropTypeLocationNames":157,"./ReactPropTypeLocations":158,"_process":33,"fbjs/lib/emptyObject":222,"fbjs/lib/invariant":229,"fbjs/lib/keyMirror":232,"fbjs/lib/keyOf":233,"fbjs/lib/warning":239,"object-assign":32}],107:[function(require,module,exports){ +},{"./ReactComponent":107,"./ReactElement":136,"./ReactNoopUpdateQueue":155,"./ReactPropTypeLocationNames":157,"./ReactPropTypeLocations":158,"_process":32,"fbjs/lib/emptyObject":222,"fbjs/lib/invariant":229,"fbjs/lib/keyMirror":232,"fbjs/lib/keyOf":233,"fbjs/lib/warning":239,"object-assign":240}],107:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -12560,7 +12528,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = ReactComponent; }).call(this,require('_process')) -},{"./ReactInstrumentation":146,"./ReactNoopUpdateQueue":155,"./canDefineProperty":187,"_process":33,"fbjs/lib/emptyObject":222,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],108:[function(require,module,exports){ +},{"./ReactInstrumentation":146,"./ReactNoopUpdateQueue":155,"./canDefineProperty":187,"_process":32,"fbjs/lib/emptyObject":222,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],108:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -12655,7 +12623,7 @@ var ReactComponentEnvironment = { module.exports = ReactComponentEnvironment; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/invariant":229}],110:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/invariant":229}],110:[function(require,module,exports){ (function (process){ /** * Copyright 2016-present, Facebook, Inc. @@ -12804,7 +12772,7 @@ var ReactComponentTreeDevtool = { module.exports = ReactComponentTreeDevtool; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/invariant":229}],111:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/invariant":229}],111:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -13731,7 +13699,7 @@ var ReactCompositeComponent = { module.exports = ReactCompositeComponent; }).call(this,require('_process')) -},{"./ReactComponentEnvironment":109,"./ReactCurrentOwner":112,"./ReactElement":136,"./ReactErrorUtils":139,"./ReactInstanceMap":145,"./ReactInstrumentation":146,"./ReactNodeTypes":154,"./ReactPropTypeLocationNames":157,"./ReactPropTypeLocations":158,"./ReactReconciler":161,"./ReactUpdateQueue":164,"./shouldUpdateReactComponent":211,"_process":33,"fbjs/lib/emptyObject":222,"fbjs/lib/invariant":229,"fbjs/lib/warning":239,"object-assign":32}],112:[function(require,module,exports){ +},{"./ReactComponentEnvironment":109,"./ReactCurrentOwner":112,"./ReactElement":136,"./ReactErrorUtils":139,"./ReactInstanceMap":145,"./ReactInstrumentation":146,"./ReactNodeTypes":154,"./ReactPropTypeLocationNames":157,"./ReactPropTypeLocations":158,"./ReactReconciler":161,"./ReactUpdateQueue":164,"./shouldUpdateReactComponent":211,"_process":32,"fbjs/lib/emptyObject":222,"fbjs/lib/invariant":229,"fbjs/lib/warning":239,"object-assign":240}],112:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -13868,7 +13836,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = React; }).call(this,require('_process')) -},{"./ReactDOMComponentTree":117,"./ReactDefaultInjection":135,"./ReactMount":149,"./ReactReconciler":161,"./ReactUpdates":165,"./ReactVersion":166,"./findDOMNode":191,"./getNativeComponentFromComposite":199,"./renderSubtreeIntoContainer":208,"_process":33,"fbjs/lib/ExecutionEnvironment":215,"fbjs/lib/warning":239}],114:[function(require,module,exports){ +},{"./ReactDOMComponentTree":117,"./ReactDefaultInjection":135,"./ReactMount":149,"./ReactReconciler":161,"./ReactUpdates":165,"./ReactVersion":166,"./findDOMNode":191,"./getNativeComponentFromComposite":199,"./renderSubtreeIntoContainer":208,"_process":32,"fbjs/lib/ExecutionEnvironment":215,"fbjs/lib/warning":239}],114:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -14846,7 +14814,7 @@ _assign(ReactDOMComponent.prototype, ReactDOMComponent.Mixin, ReactMultiChild.Mi module.exports = ReactDOMComponent; }).call(this,require('_process')) -},{"./AutoFocusUtils":77,"./CSSPropertyOperations":80,"./DOMLazyTree":84,"./DOMNamespaces":85,"./DOMProperty":86,"./DOMPropertyOperations":87,"./EventConstants":92,"./EventPluginHub":93,"./EventPluginRegistry":94,"./ReactBrowserEventEmitter":103,"./ReactComponentBrowserEnvironment":108,"./ReactDOMButton":114,"./ReactDOMComponentFlags":116,"./ReactDOMComponentTree":117,"./ReactDOMInput":124,"./ReactDOMOption":126,"./ReactDOMSelect":127,"./ReactDOMTextarea":130,"./ReactInstrumentation":146,"./ReactMultiChild":150,"./ReactServerRenderingTransaction":163,"./escapeTextContentForBrowser":190,"./isEventSupported":204,"./validateDOMNesting":213,"_process":33,"fbjs/lib/emptyFunction":221,"fbjs/lib/invariant":229,"fbjs/lib/keyOf":233,"fbjs/lib/shallowEqual":238,"fbjs/lib/warning":239,"object-assign":32}],116:[function(require,module,exports){ +},{"./AutoFocusUtils":77,"./CSSPropertyOperations":80,"./DOMLazyTree":84,"./DOMNamespaces":85,"./DOMProperty":86,"./DOMPropertyOperations":87,"./EventConstants":92,"./EventPluginHub":93,"./EventPluginRegistry":94,"./ReactBrowserEventEmitter":103,"./ReactComponentBrowserEnvironment":108,"./ReactDOMButton":114,"./ReactDOMComponentFlags":116,"./ReactDOMComponentTree":117,"./ReactDOMInput":124,"./ReactDOMOption":126,"./ReactDOMSelect":127,"./ReactDOMTextarea":130,"./ReactInstrumentation":146,"./ReactMultiChild":150,"./ReactServerRenderingTransaction":163,"./escapeTextContentForBrowser":190,"./isEventSupported":204,"./validateDOMNesting":213,"_process":32,"fbjs/lib/emptyFunction":221,"fbjs/lib/invariant":229,"fbjs/lib/keyOf":233,"fbjs/lib/shallowEqual":238,"fbjs/lib/warning":239,"object-assign":240}],116:[function(require,module,exports){ /** * Copyright 2015-present, Facebook, Inc. * All rights reserved. @@ -15055,7 +15023,7 @@ var ReactDOMComponentTree = { module.exports = ReactDOMComponentTree; }).call(this,require('_process')) -},{"./DOMProperty":86,"./ReactDOMComponentFlags":116,"_process":33,"fbjs/lib/invariant":229}],118:[function(require,module,exports){ +},{"./DOMProperty":86,"./ReactDOMComponentFlags":116,"_process":32,"fbjs/lib/invariant":229}],118:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -15092,7 +15060,7 @@ function ReactDOMContainerInfo(topLevelWrapper, node) { module.exports = ReactDOMContainerInfo; }).call(this,require('_process')) -},{"./validateDOMNesting":213,"_process":33}],119:[function(require,module,exports){ +},{"./validateDOMNesting":213,"_process":32}],119:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -15157,7 +15125,7 @@ ReactDOMDebugTool.addDevtool(ReactDOMUnknownPropertyDevtool); module.exports = ReactDOMDebugTool; }).call(this,require('_process')) -},{"./ReactDOMUnknownPropertyDevtool":132,"_process":33,"fbjs/lib/warning":239}],120:[function(require,module,exports){ +},{"./ReactDOMUnknownPropertyDevtool":132,"_process":32,"fbjs/lib/warning":239}],120:[function(require,module,exports){ /** * Copyright 2014-present, Facebook, Inc. * All rights reserved. @@ -15218,7 +15186,7 @@ _assign(ReactDOMEmptyComponent.prototype, { }); module.exports = ReactDOMEmptyComponent; -},{"./DOMLazyTree":84,"./ReactDOMComponentTree":117,"object-assign":32}],121:[function(require,module,exports){ +},{"./DOMLazyTree":84,"./ReactDOMComponentTree":117,"object-assign":240}],121:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -15398,7 +15366,7 @@ var ReactDOMFactories = mapObject({ module.exports = ReactDOMFactories; }).call(this,require('_process')) -},{"./ReactElement":136,"./ReactElementValidator":137,"_process":33,"fbjs/lib/mapObject":234}],122:[function(require,module,exports){ +},{"./ReactElement":136,"./ReactElementValidator":137,"_process":32,"fbjs/lib/mapObject":234}],122:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -15662,7 +15630,7 @@ function _handleChange(event) { module.exports = ReactDOMInput; }).call(this,require('_process')) -},{"./DOMPropertyOperations":87,"./DisabledInputUtils":90,"./LinkedValueUtils":100,"./ReactDOMComponentTree":117,"./ReactUpdates":165,"_process":33,"fbjs/lib/invariant":229,"fbjs/lib/warning":239,"object-assign":32}],125:[function(require,module,exports){ +},{"./DOMPropertyOperations":87,"./DisabledInputUtils":90,"./LinkedValueUtils":100,"./ReactDOMComponentTree":117,"./ReactUpdates":165,"_process":32,"fbjs/lib/invariant":229,"fbjs/lib/warning":239,"object-assign":240}],125:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -15792,7 +15760,7 @@ var ReactDOMOption = { module.exports = ReactDOMOption; }).call(this,require('_process')) -},{"./ReactChildren":105,"./ReactDOMComponentTree":117,"./ReactDOMSelect":127,"_process":33,"fbjs/lib/warning":239,"object-assign":32}],127:[function(require,module,exports){ +},{"./ReactChildren":105,"./ReactDOMComponentTree":117,"./ReactDOMSelect":127,"_process":32,"fbjs/lib/warning":239,"object-assign":240}],127:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -16009,7 +15977,7 @@ function _handleChange(event) { module.exports = ReactDOMSelect; }).call(this,require('_process')) -},{"./DisabledInputUtils":90,"./LinkedValueUtils":100,"./ReactDOMComponentTree":117,"./ReactUpdates":165,"_process":33,"fbjs/lib/warning":239,"object-assign":32}],128:[function(require,module,exports){ +},{"./DisabledInputUtils":90,"./LinkedValueUtils":100,"./ReactDOMComponentTree":117,"./ReactUpdates":165,"_process":32,"fbjs/lib/warning":239,"object-assign":240}],128:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -16396,7 +16364,7 @@ _assign(ReactDOMTextComponent.prototype, { module.exports = ReactDOMTextComponent; }).call(this,require('_process')) -},{"./DOMChildrenOperations":83,"./DOMLazyTree":84,"./ReactDOMComponentTree":117,"./ReactInstrumentation":146,"./escapeTextContentForBrowser":190,"./validateDOMNesting":213,"_process":33,"fbjs/lib/invariant":229,"object-assign":32}],130:[function(require,module,exports){ +},{"./DOMChildrenOperations":83,"./DOMLazyTree":84,"./ReactDOMComponentTree":117,"./ReactInstrumentation":146,"./escapeTextContentForBrowser":190,"./validateDOMNesting":213,"_process":32,"fbjs/lib/invariant":229,"object-assign":240}],130:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -16542,7 +16510,7 @@ function _handleChange(event) { module.exports = ReactDOMTextarea; }).call(this,require('_process')) -},{"./DOMPropertyOperations":87,"./DisabledInputUtils":90,"./LinkedValueUtils":100,"./ReactDOMComponentTree":117,"./ReactUpdates":165,"_process":33,"fbjs/lib/invariant":229,"fbjs/lib/warning":239,"object-assign":32}],131:[function(require,module,exports){ +},{"./DOMPropertyOperations":87,"./DisabledInputUtils":90,"./LinkedValueUtils":100,"./ReactDOMComponentTree":117,"./ReactUpdates":165,"_process":32,"fbjs/lib/invariant":229,"fbjs/lib/warning":239,"object-assign":240}],131:[function(require,module,exports){ (function (process){ /** * Copyright 2015-present, Facebook, Inc. @@ -16680,7 +16648,7 @@ module.exports = { }; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/invariant":229}],132:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/invariant":229}],132:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -16748,7 +16716,7 @@ var ReactDOMUnknownPropertyDevtool = { module.exports = ReactDOMUnknownPropertyDevtool; }).call(this,require('_process')) -},{"./DOMProperty":86,"./EventPluginRegistry":94,"_process":33,"fbjs/lib/warning":239}],133:[function(require,module,exports){ +},{"./DOMProperty":86,"./EventPluginRegistry":94,"_process":32,"fbjs/lib/warning":239}],133:[function(require,module,exports){ (function (process){ /** * Copyright 2016-present, Facebook, Inc. @@ -17002,7 +16970,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = ReactDebugTool; }).call(this,require('_process')) -},{"./ReactComponentTreeDevtool":110,"./ReactInvalidSetStateWarningDevTool":147,"./ReactNativeOperationHistoryDevtool":153,"_process":33,"fbjs/lib/ExecutionEnvironment":215,"fbjs/lib/performanceNow":237,"fbjs/lib/warning":239}],134:[function(require,module,exports){ +},{"./ReactComponentTreeDevtool":110,"./ReactInvalidSetStateWarningDevTool":147,"./ReactNativeOperationHistoryDevtool":153,"_process":32,"fbjs/lib/ExecutionEnvironment":215,"fbjs/lib/performanceNow":237,"fbjs/lib/warning":239}],134:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -17071,7 +17039,7 @@ var ReactDefaultBatchingStrategy = { }; module.exports = ReactDefaultBatchingStrategy; -},{"./ReactUpdates":165,"./Transaction":183,"fbjs/lib/emptyFunction":221,"object-assign":32}],135:[function(require,module,exports){ +},{"./ReactUpdates":165,"./Transaction":183,"fbjs/lib/emptyFunction":221,"object-assign":240}],135:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -17473,7 +17441,7 @@ ReactElement.isValidElement = function (object) { module.exports = ReactElement; }).call(this,require('_process')) -},{"./ReactCurrentOwner":112,"./canDefineProperty":187,"_process":33,"fbjs/lib/warning":239,"object-assign":32}],137:[function(require,module,exports){ +},{"./ReactCurrentOwner":112,"./canDefineProperty":187,"_process":32,"fbjs/lib/warning":239,"object-assign":240}],137:[function(require,module,exports){ (function (process){ /** * Copyright 2014-present, Facebook, Inc. @@ -17758,7 +17726,7 @@ var ReactElementValidator = { module.exports = ReactElementValidator; }).call(this,require('_process')) -},{"./ReactCurrentOwner":112,"./ReactElement":136,"./ReactPropTypeLocationNames":157,"./ReactPropTypeLocations":158,"./canDefineProperty":187,"./getIteratorFn":198,"_process":33,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],138:[function(require,module,exports){ +},{"./ReactCurrentOwner":112,"./ReactElement":136,"./ReactPropTypeLocationNames":157,"./ReactPropTypeLocations":158,"./canDefineProperty":187,"./getIteratorFn":198,"_process":32,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],138:[function(require,module,exports){ /** * Copyright 2014-present, Facebook, Inc. * All rights reserved. @@ -17869,7 +17837,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = ReactErrorUtils; }).call(this,require('_process')) -},{"_process":33}],140:[function(require,module,exports){ +},{"_process":32}],140:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18061,7 +18029,7 @@ var ReactEventListener = { }; module.exports = ReactEventListener; -},{"./PooledClass":101,"./ReactDOMComponentTree":117,"./ReactUpdates":165,"./getEventTarget":197,"fbjs/lib/EventListener":214,"fbjs/lib/ExecutionEnvironment":215,"fbjs/lib/getUnboundedScrollPosition":226,"object-assign":32}],142:[function(require,module,exports){ +},{"./PooledClass":101,"./ReactDOMComponentTree":117,"./ReactUpdates":165,"./getEventTarget":197,"fbjs/lib/EventListener":214,"fbjs/lib/ExecutionEnvironment":215,"fbjs/lib/getUnboundedScrollPosition":226,"object-assign":240}],142:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18351,7 +18319,7 @@ var ReactInvalidSetStateWarningDevTool = { module.exports = ReactInvalidSetStateWarningDevTool; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/warning":239}],148:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/warning":239}],148:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -18899,7 +18867,7 @@ var ReactMount = { module.exports = ReactMount; }).call(this,require('_process')) -},{"./DOMLazyTree":84,"./DOMProperty":86,"./ReactBrowserEventEmitter":103,"./ReactCurrentOwner":112,"./ReactDOMComponentTree":117,"./ReactDOMContainerInfo":118,"./ReactDOMFeatureFlags":122,"./ReactElement":136,"./ReactFeatureFlags":142,"./ReactInstrumentation":146,"./ReactMarkupChecksum":148,"./ReactReconciler":161,"./ReactUpdateQueue":164,"./ReactUpdates":165,"./instantiateReactComponent":203,"./setInnerHTML":209,"./shouldUpdateReactComponent":211,"_process":33,"fbjs/lib/emptyObject":222,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],150:[function(require,module,exports){ +},{"./DOMLazyTree":84,"./DOMProperty":86,"./ReactBrowserEventEmitter":103,"./ReactCurrentOwner":112,"./ReactDOMComponentTree":117,"./ReactDOMContainerInfo":118,"./ReactDOMFeatureFlags":122,"./ReactElement":136,"./ReactFeatureFlags":142,"./ReactInstrumentation":146,"./ReactMarkupChecksum":148,"./ReactReconciler":161,"./ReactUpdateQueue":164,"./ReactUpdates":165,"./instantiateReactComponent":203,"./setInnerHTML":209,"./shouldUpdateReactComponent":211,"_process":32,"fbjs/lib/emptyObject":222,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],150:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -19326,7 +19294,7 @@ var ReactMultiChild = { module.exports = ReactMultiChild; }).call(this,require('_process')) -},{"./ReactChildReconciler":104,"./ReactComponentEnvironment":109,"./ReactCurrentOwner":112,"./ReactInstrumentation":146,"./ReactMultiChildUpdateTypes":151,"./ReactReconciler":161,"./flattenChildren":192,"_process":33,"fbjs/lib/emptyFunction":221,"fbjs/lib/invariant":229}],151:[function(require,module,exports){ +},{"./ReactChildReconciler":104,"./ReactComponentEnvironment":109,"./ReactCurrentOwner":112,"./ReactInstrumentation":146,"./ReactMultiChildUpdateTypes":151,"./ReactReconciler":161,"./flattenChildren":192,"_process":32,"fbjs/lib/emptyFunction":221,"fbjs/lib/invariant":229}],151:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -19458,7 +19426,7 @@ var ReactNativeComponent = { module.exports = ReactNativeComponent; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/invariant":229,"object-assign":32}],153:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/invariant":229,"object-assign":240}],153:[function(require,module,exports){ /** * Copyright 2016-present, Facebook, Inc. * All rights reserved. @@ -19537,7 +19505,7 @@ var ReactNodeTypes = { module.exports = ReactNodeTypes; }).call(this,require('_process')) -},{"./ReactElement":136,"_process":33,"fbjs/lib/invariant":229}],155:[function(require,module,exports){ +},{"./ReactElement":136,"_process":32,"fbjs/lib/invariant":229}],155:[function(require,module,exports){ (function (process){ /** * Copyright 2015-present, Facebook, Inc. @@ -19636,7 +19604,7 @@ var ReactNoopUpdateQueue = { module.exports = ReactNoopUpdateQueue; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/warning":239}],156:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/warning":239}],156:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -19732,7 +19700,7 @@ var ReactOwner = { module.exports = ReactOwner; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/invariant":229}],157:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/invariant":229}],157:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -19760,7 +19728,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = ReactPropTypeLocationNames; }).call(this,require('_process')) -},{"_process":33}],158:[function(require,module,exports){ +},{"_process":32}],158:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -20327,7 +20295,7 @@ _assign(ReactReconcileTransaction.prototype, Transaction.Mixin, Mixin); PooledClass.addPoolingTo(ReactReconcileTransaction); module.exports = ReactReconcileTransaction; -},{"./CallbackQueue":81,"./PooledClass":101,"./ReactBrowserEventEmitter":103,"./ReactInputSelection":144,"./Transaction":183,"object-assign":32}],161:[function(require,module,exports){ +},{"./CallbackQueue":81,"./PooledClass":101,"./ReactBrowserEventEmitter":103,"./ReactInputSelection":144,"./Transaction":183,"object-assign":240}],161:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -20502,7 +20470,7 @@ var ReactReconciler = { module.exports = ReactReconciler; }).call(this,require('_process')) -},{"./ReactInstrumentation":146,"./ReactRef":162,"_process":33,"fbjs/lib/invariant":229}],162:[function(require,module,exports){ +},{"./ReactInstrumentation":146,"./ReactRef":162,"_process":32,"fbjs/lib/invariant":229}],162:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -20655,7 +20623,7 @@ _assign(ReactServerRenderingTransaction.prototype, Transaction.Mixin, Mixin); PooledClass.addPoolingTo(ReactServerRenderingTransaction); module.exports = ReactServerRenderingTransaction; -},{"./PooledClass":101,"./Transaction":183,"object-assign":32}],164:[function(require,module,exports){ +},{"./PooledClass":101,"./Transaction":183,"object-assign":240}],164:[function(require,module,exports){ (function (process){ /** * Copyright 2015-present, Facebook, Inc. @@ -20874,7 +20842,7 @@ var ReactUpdateQueue = { module.exports = ReactUpdateQueue; }).call(this,require('_process')) -},{"./ReactCurrentOwner":112,"./ReactInstanceMap":145,"./ReactUpdates":165,"_process":33,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],165:[function(require,module,exports){ +},{"./ReactCurrentOwner":112,"./ReactInstanceMap":145,"./ReactUpdates":165,"_process":32,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],165:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -21137,7 +21105,7 @@ var ReactUpdates = { module.exports = ReactUpdates; }).call(this,require('_process')) -},{"./CallbackQueue":81,"./PooledClass":101,"./ReactFeatureFlags":142,"./ReactInstrumentation":146,"./ReactReconciler":161,"./Transaction":183,"_process":33,"fbjs/lib/invariant":229,"object-assign":32}],166:[function(require,module,exports){ +},{"./CallbackQueue":81,"./PooledClass":101,"./ReactFeatureFlags":142,"./ReactInstrumentation":146,"./ReactReconciler":161,"./Transaction":183,"_process":32,"fbjs/lib/invariant":229,"object-assign":240}],166:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -22281,7 +22249,7 @@ var SimpleEventPlugin = { module.exports = SimpleEventPlugin; }).call(this,require('_process')) -},{"./EventConstants":92,"./EventPropagators":96,"./ReactDOMComponentTree":117,"./SyntheticAnimationEvent":170,"./SyntheticClipboardEvent":171,"./SyntheticDragEvent":173,"./SyntheticEvent":174,"./SyntheticFocusEvent":175,"./SyntheticKeyboardEvent":177,"./SyntheticMouseEvent":178,"./SyntheticTouchEvent":179,"./SyntheticTransitionEvent":180,"./SyntheticUIEvent":181,"./SyntheticWheelEvent":182,"./getEventCharCode":194,"_process":33,"fbjs/lib/EventListener":214,"fbjs/lib/emptyFunction":221,"fbjs/lib/invariant":229,"fbjs/lib/keyOf":233}],170:[function(require,module,exports){ +},{"./EventConstants":92,"./EventPropagators":96,"./ReactDOMComponentTree":117,"./SyntheticAnimationEvent":170,"./SyntheticClipboardEvent":171,"./SyntheticDragEvent":173,"./SyntheticEvent":174,"./SyntheticFocusEvent":175,"./SyntheticKeyboardEvent":177,"./SyntheticMouseEvent":178,"./SyntheticTouchEvent":179,"./SyntheticTransitionEvent":180,"./SyntheticUIEvent":181,"./SyntheticWheelEvent":182,"./getEventCharCode":194,"_process":32,"fbjs/lib/EventListener":214,"fbjs/lib/emptyFunction":221,"fbjs/lib/invariant":229,"fbjs/lib/keyOf":233}],170:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -22699,7 +22667,7 @@ function getPooledWarningPropertyDefinition(propName, getVal) { } }).call(this,require('_process')) -},{"./PooledClass":101,"_process":33,"fbjs/lib/emptyFunction":221,"fbjs/lib/warning":239,"object-assign":32}],175:[function(require,module,exports){ +},{"./PooledClass":101,"_process":32,"fbjs/lib/emptyFunction":221,"fbjs/lib/warning":239,"object-assign":240}],175:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -23368,7 +23336,7 @@ var Transaction = { module.exports = Transaction; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/invariant":229}],184:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/invariant":229}],184:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -23459,7 +23427,7 @@ function accumulateInto(current, next) { module.exports = accumulateInto; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/invariant":229}],186:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/invariant":229}],186:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -23531,7 +23499,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = canDefineProperty; }).call(this,require('_process')) -},{"_process":33}],188:[function(require,module,exports){ +},{"_process":32}],188:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -23645,7 +23613,7 @@ function dangerousStyleValue(name, value, component) { module.exports = dangerousStyleValue; }).call(this,require('_process')) -},{"./CSSProperty":79,"_process":33,"fbjs/lib/warning":239}],190:[function(require,module,exports){ +},{"./CSSProperty":79,"_process":32,"fbjs/lib/warning":239}],190:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -23746,7 +23714,7 @@ function findDOMNode(componentOrElement) { module.exports = findDOMNode; }).call(this,require('_process')) -},{"./ReactCurrentOwner":112,"./ReactDOMComponentTree":117,"./ReactInstanceMap":145,"./getNativeComponentFromComposite":199,"_process":33,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],192:[function(require,module,exports){ +},{"./ReactCurrentOwner":112,"./ReactDOMComponentTree":117,"./ReactInstanceMap":145,"./getNativeComponentFromComposite":199,"_process":32,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],192:[function(require,module,exports){ (function (process){ /** * Copyright 2013-present, Facebook, Inc. @@ -23799,7 +23767,7 @@ function flattenChildren(children) { module.exports = flattenChildren; }).call(this,require('_process')) -},{"./KeyEscapeUtils":99,"./traverseAllChildren":212,"_process":33,"fbjs/lib/warning":239}],193:[function(require,module,exports){ +},{"./KeyEscapeUtils":99,"./traverseAllChildren":212,"_process":32,"fbjs/lib/warning":239}],193:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -24495,7 +24463,7 @@ function instantiateReactComponent(node) { module.exports = instantiateReactComponent; }).call(this,require('_process')) -},{"./ReactCompositeComponent":111,"./ReactEmptyComponent":138,"./ReactInstrumentation":146,"./ReactNativeComponent":152,"_process":33,"fbjs/lib/invariant":229,"fbjs/lib/warning":239,"object-assign":32}],204:[function(require,module,exports){ +},{"./ReactCompositeComponent":111,"./ReactEmptyComponent":138,"./ReactInstrumentation":146,"./ReactNativeComponent":152,"_process":32,"fbjs/lib/invariant":229,"fbjs/lib/warning":239,"object-assign":240}],204:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -24638,7 +24606,7 @@ function onlyChild(children) { module.exports = onlyChild; }).call(this,require('_process')) -},{"./ReactElement":136,"_process":33,"fbjs/lib/invariant":229}],207:[function(require,module,exports){ +},{"./ReactElement":136,"_process":32,"fbjs/lib/invariant":229}],207:[function(require,module,exports){ /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. @@ -25011,7 +24979,7 @@ function traverseAllChildren(children, callback, traverseContext) { module.exports = traverseAllChildren; }).call(this,require('_process')) -},{"./KeyEscapeUtils":99,"./ReactCurrentOwner":112,"./ReactElement":136,"./getIteratorFn":198,"_process":33,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],213:[function(require,module,exports){ +},{"./KeyEscapeUtils":99,"./ReactCurrentOwner":112,"./ReactElement":136,"./getIteratorFn":198,"_process":32,"fbjs/lib/invariant":229,"fbjs/lib/warning":239}],213:[function(require,module,exports){ (function (process){ /** * Copyright 2015-present, Facebook, Inc. @@ -25384,7 +25352,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = validateDOMNesting; }).call(this,require('_process')) -},{"_process":33,"fbjs/lib/emptyFunction":221,"fbjs/lib/warning":239,"object-assign":32}],214:[function(require,module,exports){ +},{"_process":32,"fbjs/lib/emptyFunction":221,"fbjs/lib/warning":239,"object-assign":240}],214:[function(require,module,exports){ (function (process){ 'use strict'; @@ -25471,7 +25439,7 @@ var EventListener = { module.exports = EventListener; }).call(this,require('_process')) -},{"./emptyFunction":221,"_process":33}],215:[function(require,module,exports){ +},{"./emptyFunction":221,"_process":32}],215:[function(require,module,exports){ /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. @@ -25749,7 +25717,7 @@ function createArrayFromMixed(obj) { module.exports = createArrayFromMixed; }).call(this,require('_process')) -},{"./invariant":229,"_process":33}],220:[function(require,module,exports){ +},{"./invariant":229,"_process":32}],220:[function(require,module,exports){ (function (process){ 'use strict'; @@ -25836,7 +25804,7 @@ function createNodesFromMarkup(markup, handleScript) { module.exports = createNodesFromMarkup; }).call(this,require('_process')) -},{"./ExecutionEnvironment":215,"./createArrayFromMixed":219,"./getMarkupWrap":225,"./invariant":229,"_process":33}],221:[function(require,module,exports){ +},{"./ExecutionEnvironment":215,"./createArrayFromMixed":219,"./getMarkupWrap":225,"./invariant":229,"_process":32}],221:[function(require,module,exports){ "use strict"; /** @@ -25898,7 +25866,7 @@ if (process.env.NODE_ENV !== 'production') { module.exports = emptyObject; }).call(this,require('_process')) -},{"_process":33}],223:[function(require,module,exports){ +},{"_process":32}],223:[function(require,module,exports){ /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. @@ -26058,7 +26026,7 @@ function getMarkupWrap(nodeName) { module.exports = getMarkupWrap; }).call(this,require('_process')) -},{"./ExecutionEnvironment":215,"./invariant":229,"_process":33}],226:[function(require,module,exports){ +},{"./ExecutionEnvironment":215,"./invariant":229,"_process":32}],226:[function(require,module,exports){ /** * Copyright (c) 2013-present, Facebook, Inc. * All rights reserved. @@ -26222,7 +26190,7 @@ function invariant(condition, format, a, b, c, d, e, f) { module.exports = invariant; }).call(this,require('_process')) -},{"_process":33}],230:[function(require,module,exports){ +},{"_process":32}],230:[function(require,module,exports){ 'use strict'; /** @@ -26321,7 +26289,7 @@ var keyMirror = function keyMirror(obj) { module.exports = keyMirror; }).call(this,require('_process')) -},{"./invariant":229,"_process":33}],233:[function(require,module,exports){ +},{"./invariant":229,"_process":32}],233:[function(require,module,exports){ "use strict"; /** @@ -26621,7 +26589,92 @@ if (process.env.NODE_ENV !== 'production') { module.exports = warning; }).call(this,require('_process')) -},{"./emptyFunction":221,"_process":33}],240:[function(require,module,exports){ +},{"./emptyFunction":221,"_process":32}],240:[function(require,module,exports){ +'use strict'; +/* eslint-disable no-unused-vars */ +var hasOwnProperty = Object.prototype.hasOwnProperty; +var propIsEnumerable = Object.prototype.propertyIsEnumerable; + +function toObject(val) { + if (val === null || val === undefined) { + throw new TypeError('Object.assign cannot be called with null or undefined'); + } + + return Object(val); +} + +function shouldUseNative() { + try { + if (!Object.assign) { + return false; + } + + // Detect buggy property enumeration order in older V8 versions. + + // https://bugs.chromium.org/p/v8/issues/detail?id=4118 + var test1 = new String('abc'); // eslint-disable-line + test1[5] = 'de'; + if (Object.getOwnPropertyNames(test1)[0] === '5') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test2 = {}; + for (var i = 0; i < 10; i++) { + test2['_' + String.fromCharCode(i)] = i; + } + var order2 = Object.getOwnPropertyNames(test2).map(function (n) { + return test2[n]; + }); + if (order2.join('') !== '0123456789') { + return false; + } + + // https://bugs.chromium.org/p/v8/issues/detail?id=3056 + var test3 = {}; + 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { + test3[letter] = letter; + }); + if (Object.keys(Object.assign({}, test3)).join('') !== + 'abcdefghijklmnopqrst') { + return false; + } + + return true; + } catch (e) { + // We don't expect any of the above to throw, but better to be safe. + return false; + } +} + +module.exports = shouldUseNative() ? Object.assign : function (target, source) { + var from; + var to = toObject(target); + var symbols; + + for (var s = 1; s < arguments.length; s++) { + from = Object(arguments[s]); + + for (var key in from) { + if (hasOwnProperty.call(from, key)) { + to[key] = from[key]; + } + } + + if (Object.getOwnPropertySymbols) { + symbols = Object.getOwnPropertySymbols(from); + for (var i = 0; i < symbols.length; i++) { + if (propIsEnumerable.call(from, symbols[i])) { + to[symbols[i]] = from[symbols[i]]; + } + } + } + } + + return to; +}; + +},{}],241:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -26680,7 +26733,7 @@ function applyMiddleware() { }; }; } -},{"./compose":243}],241:[function(require,module,exports){ +},{"./compose":244}],242:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -26732,7 +26785,7 @@ function bindActionCreators(actionCreators, dispatch) { } return boundActionCreators; } -},{}],242:[function(require,module,exports){ +},{}],243:[function(require,module,exports){ (function (process){ 'use strict'; @@ -26863,7 +26916,7 @@ function combineReducers(reducers) { } }).call(this,require('_process')) -},{"./createStore":244,"./utils/warning":245,"_process":33,"lodash/isPlainObject":31}],243:[function(require,module,exports){ +},{"./createStore":245,"./utils/warning":246,"_process":32,"lodash/isPlainObject":31}],244:[function(require,module,exports){ "use strict"; exports.__esModule = true; @@ -26904,7 +26957,7 @@ function compose() { if (typeof _ret === "object") return _ret.v; } } -},{}],244:[function(require,module,exports){ +},{}],245:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -27167,7 +27220,7 @@ function createStore(reducer, initialState, enhancer) { replaceReducer: replaceReducer }, _ref2[_symbolObservable2["default"]] = observable, _ref2; } -},{"lodash/isPlainObject":31,"symbol-observable":247}],245:[function(require,module,exports){ +},{"lodash/isPlainObject":31,"symbol-observable":248}],246:[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -27193,7 +27246,7 @@ function warning(message) { } catch (e) {} /* eslint-enable no-empty */ } -},{}],246:[function(require,module,exports){ +},{}],247:[function(require,module,exports){ 'use strict'; module.exports = function (str) { return encodeURIComponent(str).replace(/[!'()*]/g, function (c) { @@ -27201,7 +27254,7 @@ module.exports = function (str) { }); }; -},{}],247:[function(require,module,exports){ +},{}],248:[function(require,module,exports){ (function (global){ /* global window */ 'use strict'; @@ -27210,7 +27263,7 @@ module.exports = require('./ponyfill')(global || window || this); }).call(this,typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : {}) -},{"./ponyfill":248}],248:[function(require,module,exports){ +},{"./ponyfill":249}],249:[function(require,module,exports){ 'use strict'; module.exports = function symbolObservablePonyfill(root) { @@ -27231,7 +27284,7 @@ module.exports = function symbolObservablePonyfill(root) { return result; }; -},{}],249:[function(require,module,exports){ +},{}],250:[function(require,module,exports){ (function (process){ /** * Copyright 2014-2015, Facebook, Inc. @@ -27296,7 +27349,7 @@ module.exports = warning; }).call(this,require('_process')) -},{"_process":33}],"classnames":[function(require,module,exports){ +},{"_process":32}],"classnames":[function(require,module,exports){ /*! Copyright (c) 2016 Jed Watson. Licensed under the MIT License (MIT), see @@ -53606,7 +53659,7 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "d exports.Provider = _Provider2["default"]; exports.connect = _connect2["default"]; -},{"./components/Provider":35,"./components/connect":36}],"react-router":[function(require,module,exports){ +},{"./components/Provider":34,"./components/connect":35}],"react-router":[function(require,module,exports){ 'use strict'; exports.__esModule = true; @@ -53763,7 +53816,7 @@ exports.applyRouterMiddleware = _applyRouterMiddleware3.default; exports.browserHistory = _browserHistory3.default; exports.hashHistory = _hashHistory3.default; exports.createMemoryHistory = _createMemoryHistory3.default; -},{"./History":42,"./IndexLink":43,"./IndexRedirect":44,"./IndexRoute":45,"./Lifecycle":47,"./Link":48,"./PatternUtils":49,"./PropTypes":50,"./Redirect":51,"./Route":52,"./RouteContext":53,"./RouteUtils":54,"./Router":55,"./RouterContext":56,"./RoutingContext":58,"./applyRouterMiddleware":60,"./browserHistory":61,"./createMemoryHistory":63,"./hashHistory":69,"./match":71,"./useRouterHistory":74,"./useRoutes":75,"./withRouter":76}],"react":[function(require,module,exports){ +},{"./History":41,"./IndexLink":42,"./IndexRedirect":43,"./IndexRoute":44,"./Lifecycle":46,"./Link":47,"./PatternUtils":48,"./PropTypes":49,"./Redirect":50,"./Route":51,"./RouteContext":52,"./RouteUtils":53,"./Router":54,"./RouterContext":55,"./RoutingContext":57,"./applyRouterMiddleware":59,"./browserHistory":60,"./createMemoryHistory":62,"./hashHistory":68,"./match":70,"./useRouterHistory":73,"./useRoutes":74,"./withRouter":75}],"react":[function(require,module,exports){ 'use strict'; module.exports = require('./lib/React'); @@ -54071,7 +54124,7 @@ exports.applyMiddleware = _applyMiddleware2["default"]; exports.compose = _compose2["default"]; }).call(this,require('_process')) -},{"./applyMiddleware":240,"./bindActionCreators":241,"./combineReducers":242,"./compose":243,"./createStore":244,"./utils/warning":245,"_process":33}],"shallowequal":[function(require,module,exports){ +},{"./applyMiddleware":241,"./bindActionCreators":242,"./combineReducers":243,"./compose":244,"./createStore":245,"./utils/warning":246,"_process":32}],"shallowequal":[function(require,module,exports){ 'use strict'; var fetchKeys = require('lodash.keys'); @@ -54122,5 +54175,3 @@ module.exports = function shallowEqual(objA, objB, compare, compareContext) { }; },{"lodash.keys":27}]},{},[]) - -//# sourceMappingURL=vendor.js.map diff --git a/web/src/js/components/MainView.js b/web/src/js/components/MainView.js index 19ff5e4d9..6172ce77a 100644 --- a/web/src/js/components/MainView.js +++ b/web/src/js/components/MainView.js @@ -155,7 +155,7 @@ class MainView extends Component {
this.selectFlow(flow)} selected={selectedFlow} /> {selectedFlow && [ diff --git a/web/src/js/components/ProxyApp.js b/web/src/js/components/ProxyApp.js index 33443dcd3..71a7bf9b4 100644 --- a/web/src/js/components/ProxyApp.js +++ b/web/src/js/components/ProxyApp.js @@ -21,13 +21,19 @@ class ProxyAppMain extends Component { router: PropTypes.object.isRequired, } - constructor() { + constructor(props, context) { + super(props, context) + this.settingsStore = new SettingsStore() // Default Settings before fetch _.extend(this.settingsStore.dict, {}) this.state = { settings: this.settingsStore.dict } + + this.onKeyDown = this.onKeyDown.bind(this) + this.updateLocation = this.updateLocation.bind(this) + this.onSettingsChange = this.onSettingsChange.bind(this) } /** @@ -41,7 +47,7 @@ class ProxyAppMain extends Component { for (const key of Object.keys(queryUpdate || {})) { query[i] = queryUpdate[i] || undefined } - this.context.router.replace({pathname, query}) + this.context.router.replace({ pathname, query }) } /** @@ -101,7 +107,7 @@ class ProxyAppMain extends Component { /** * @todo move to actions */ - onKeydown(e) { + onKeyDown(e) { let name = null switch (e.keyCode) { @@ -140,7 +146,7 @@ class ProxyAppMain extends Component { const { settings } = this.state const query = this.getQuery() return ( -
+
{React.cloneElement( children, @@ -154,7 +160,7 @@ class ProxyAppMain extends Component {
) } -}) +} export default connect( state => ({ diff --git a/web/src/js/components/flowview/index.js b/web/src/js/components/flowview/index.js index 6f4f73953..7f5e9768d 100644 --- a/web/src/js/components/flowview/index.js +++ b/web/src/js/components/flowview/index.js @@ -89,7 +89,6 @@ var FlowView = React.createClass({ } else { active = tabs[0]; } - this.selectTab(active); } var prompt = null;