diff --git a/package.json b/package.json index 96176843b..778551db7 100644 --- a/package.json +++ b/package.json @@ -28,13 +28,15 @@ "filesize": "^3.1.2", "flux": "~2.0.3", "linkifyjs": "^2.0.0-beta.4", - "modernizr": "^3.1.0", "matrix-js-sdk": "^0.3.0", "matrix-react-sdk": "^0.0.2", + "modernizr": "^3.1.0", "q": "^1.4.1", - "react": "^0.13.3", + "react": "^0.14.2", + "react-dnd": "^2.0.2", + "react-dnd-html5-backend": "^2.0.0", + "react-dom": "^0.14.2", "react-loader": "^1.4.0", - "react-dnd": "^1.1.8", "sanitize-html": "^1.0.0" }, "devDependencies": { diff --git a/src/ContextualMenu.js b/src/ContextualMenu.js index 7865e45a7..3327aa948 100644 --- a/src/ContextualMenu.js +++ b/src/ContextualMenu.js @@ -18,6 +18,7 @@ limitations under the License. 'use strict'; var React = require('react'); +var ReactDOM = require('react-dom'); // Shamelessly ripped off Modal.js. There's probably a better way // of doing reusable widgets like dialog boxes & menus where we go and @@ -74,7 +75,7 @@ module.exports = { ); - React.render(menu, this.getOrCreateContainer()); + ReactDOM.render(menu, this.getOrCreateContainer()); return {close: closeMenu}; }, diff --git a/src/controllers/organisms/RoomList.js b/src/controllers/organisms/RoomList.js index 295f5f58b..61f47b913 100644 --- a/src/controllers/organisms/RoomList.js +++ b/src/controllers/organisms/RoomList.js @@ -192,8 +192,8 @@ module.exports = { _repositionTooltip: function(e) { if (this.tooltip && this.tooltip.parentElement) { - var scroll = this.getDOMNode(); - this.tooltip.style.top = (scroll.parentElement.offsetTop + this.tooltip.parentElement.offsetTop - scroll.scrollTop) + "px"; + var scroll = this; + this.tooltip.style.top = (scroll.parentElement.offsetTop + this.tooltip.parentElement.offsetTop - this.scrollTop) + "px"; } }, }; diff --git a/src/skins/vector/views/organisms/LeftPanel.js b/src/skins/vector/views/organisms/LeftPanel.js index e003e87f0..96d48e0e1 100644 --- a/src/skins/vector/views/organisms/LeftPanel.js +++ b/src/skins/vector/views/organisms/LeftPanel.js @@ -18,7 +18,7 @@ limitations under the License. var React = require('react'); var DragDropContext = require('react-dnd').DragDropContext; -var HTML5Backend = require('react-dnd/modules/backends/HTML5'); +var HTML5Backend = require('react-dnd-html5-backend'); var sdk = require('matrix-react-sdk') var dis = require('matrix-react-sdk/lib/dispatcher'); diff --git a/src/vector/index.js b/src/vector/index.js index 45d69001b..87cbd0b66 100644 --- a/src/vector/index.js +++ b/src/vector/index.js @@ -18,6 +18,7 @@ limitations under the License. var RunModernizrTests = require("./modernizr"); // this side-effects a global var React = require("react"); +var ReactDOM = require("react-dom"); var sdk = require("matrix-react-sdk"); sdk.loadSkin(require('../skins/vector/skindex')); sdk.loadModule(require('../modules/VectorConferenceHandler')); @@ -136,7 +137,7 @@ window.onload = function() { function loadApp() { if (validBrowser) { var MatrixChat = sdk.getComponent('pages.MatrixChat'); - window.matrixChat = React.render( + window.matrixChat = ReactDOM.render( , document.getElementById('matrixchat') ); @@ -145,7 +146,7 @@ function loadApp() { console.error("Browser is missing required features."); // take to a different landing page to AWOOOOOGA at the user var CompatibilityPage = require("../skins/vector/views/pages/CompatibilityPage"); - window.matrixChat = React.render( + window.matrixChat = ReactDOM.render(