diff --git a/package.json b/package.json index bd41b2d7ec9a4a..93ba7a50e516e9 100644 --- a/package.json +++ b/package.json @@ -25,12 +25,14 @@ "node-libs-browser": "^0.5.2", "query-string": "^2.4.0", "raven-js": "^1.1.20", - "react": "^0.13.3", - "react-bootstrap": "^0.26.4", + "react": "0.14.0", + "react-addons-pure-render-mixin": "^0.14.0", + "react-bootstrap": "^0.27.0", "react-document-title": "^1.0.2", - "react-lazy-load": "^1.0.4", - "react-router": "^0.13.3", - "react-sticky": "^2.5.2", + "react-dom": "^0.14.0", + "react-lazy-load": "benvinegar/react-lazy-load#64fd716d9fb243e43b1b8040f7fba52f2191f2cb", + "react-router": "benvinegar/react-router#46998d030de3802ace768a673b07272586f7bf99", + "react-sticky": "^3.0.0", "reflux": "^0.3.0", "select2": "^3.5.1", "style-loader": "^0.12.4", diff --git a/src/sentry/static/sentry/app/components/alertMessage.jsx b/src/sentry/static/sentry/app/components/alertMessage.jsx index 6591d69ef6b665..e82ed633a0e3e0 100644 --- a/src/sentry/static/sentry/app/components/alertMessage.jsx +++ b/src/sentry/static/sentry/app/components/alertMessage.jsx @@ -1,6 +1,6 @@ import React from "react"; import AlertActions from '../actions/alertActions'; -var PureRenderMixin = require('react/addons').addons.PureRenderMixin; +import PureRenderMixin from 'react-addons-pure-render-mixin'; var AlertMessage = React.createClass({ mixins: [PureRenderMixin], diff --git a/src/sentry/static/sentry/app/components/alerts.jsx b/src/sentry/static/sentry/app/components/alerts.jsx index 3abb9cba1a30b1..17b23d191f63f9 100644 --- a/src/sentry/static/sentry/app/components/alerts.jsx +++ b/src/sentry/static/sentry/app/components/alerts.jsx @@ -1,6 +1,6 @@ import React from "react"; import Reflux from "reflux"; -var PureRenderMixin = require('react/addons').addons.PureRenderMixin; +import PureRenderMixin from 'react-addons-pure-render-mixin'; import AlertStore from '../stores/alertStore'; import AlertMessage from './alertMessage'; diff --git a/src/sentry/static/sentry/app/components/assigneeSelector.jsx b/src/sentry/static/sentry/app/components/assigneeSelector.jsx index 65457dbe596807..2be3c67d47993c 100644 --- a/src/sentry/static/sentry/app/components/assigneeSelector.jsx +++ b/src/sentry/static/sentry/app/components/assigneeSelector.jsx @@ -1,4 +1,5 @@ import React from "react"; +import ReactDOM from "react-dom"; import Reflux from "reflux"; import classNames from "classnames"; import api from "../api"; @@ -87,7 +88,7 @@ var AssigneeSelector = React.createClass({ }, onDropdownOpen() { - this.refs.filter.getDOMNode().focus(); + ReactDOM.findDOMNode(this.refs.filter).focus(); }, onDropdownClose() { @@ -118,7 +119,7 @@ var AssigneeSelector = React.createClass({ componentDidUpdate(prevProps, prevState) { // XXX(dcramer): fix odd dedraw issue as of Chrome 45.0.2454.15 dev (64-bit) - var node = jQuery(this.refs.container.getDOMNode()); + var node = jQuery(ReactDOM.findDOMNode(this.refs.container)); node.hide().show(0); }, diff --git a/src/sentry/static/sentry/app/components/autoSelectText.jsx b/src/sentry/static/sentry/app/components/autoSelectText.jsx index 07fe971604a83f..8179c1a9ab2f18 100644 --- a/src/sentry/static/sentry/app/components/autoSelectText.jsx +++ b/src/sentry/static/sentry/app/components/autoSelectText.jsx @@ -1,19 +1,20 @@ -import jQuery from "jquery"; import React from "react"; +import jQuery from "jquery"; +import ReactDOM from "react-dom"; const AutoSelectText = React.createClass({ componentDidMount() { - let ref = this.refs.element.getDOMNode(); + let ref = ReactDOM.findDOMNode(this.refs.element); jQuery(ref).bind('click', this.selectText); }, componentWillUnmount() { - let ref = this.refs.element.getDOMNode(); + let ref = ReactDOM.findDOMNode(this.refs.element); jQuery(ref).unbind('click', this.selectText); }, selectText() { - var node = this.refs.element.getDOMNode().firstChild; + var node = ReactDOM.findDOMNode(this.refs.element).firstChild; if (document.selection) { let range = document.body.createTextRange(); range.moveToElementText(node); diff --git a/src/sentry/static/sentry/app/components/clippedBox.jsx b/src/sentry/static/sentry/app/components/clippedBox.jsx index fee68c695e12c1..79f354668e7b7d 100644 --- a/src/sentry/static/sentry/app/components/clippedBox.jsx +++ b/src/sentry/static/sentry/app/components/clippedBox.jsx @@ -1,4 +1,5 @@ import React from "react"; +import ReactDOM from "react-dom"; var ClippedBox = React.createClass({ propTypes: { @@ -20,7 +21,7 @@ var ClippedBox = React.createClass({ }, componentDidMount() { - var renderedHeight = this.getDOMNode().offsetHeight; + var renderedHeight = ReactDOM.findDOMNode(this).offsetHeight; if (renderedHeight > this.props.clipHeight ) { /*eslint react/no-did-mount-set-state:0*/ diff --git a/src/sentry/static/sentry/app/components/dropdownLink.jsx b/src/sentry/static/sentry/app/components/dropdownLink.jsx index 8b6839989442fc..7a885083cc9d3b 100644 --- a/src/sentry/static/sentry/app/components/dropdownLink.jsx +++ b/src/sentry/static/sentry/app/components/dropdownLink.jsx @@ -1,6 +1,6 @@ -import joinClasses from "react/lib/joinClasses"; -import classNames from "classnames"; import React from "react"; +import ReactDOM from "react-dom"; +import classNames from "classnames"; require("bootstrap/js/dropdown"); @@ -21,11 +21,11 @@ var DropdownLink = React.createClass({ }, isOpen() { - return this.getDOMNode().classList.contains("open"); + return ReactDOM.findDOMNode(this).classList.contains("open"); }, close() { - this.getDOMNode().classList.remove("open"); + ReactDOM.findDOMNode(this).classList.remove("open"); }, onToggle(e) { @@ -51,14 +51,14 @@ var DropdownLink = React.createClass({ }); return ( - - + + {this.props.title} {this.props.caret && } -