-
+
+
+
+ popoverContent = (
+
+
+
);
isAdmin = Utils.isAdmin(this.state.member.roles);
@@ -354,19 +367,28 @@ export default class Navbar extends React.Component {
}
if (channel.description.length === 0) {
- popoverContent = React.renderToString(
-
+ popoverContent = (
+
+
+
);
}
}
diff --git a/web/react/components/navbar_dropdown.jsx b/web/react/components/navbar_dropdown.jsx
index 49d517419e..e0410800f7 100644
--- a/web/react/components/navbar_dropdown.jsx
+++ b/web/react/components/navbar_dropdown.jsx
@@ -40,7 +40,7 @@ export default class NavbarDropdown extends React.Component {
UserStore.addTeamsChangeListener(this.onListenerChange);
TeamStore.addChangeListener(this.onListenerChange);
- $(React.findDOMNode(this.refs.dropdown)).on('hide.bs.dropdown', () => {
+ $(ReactDOM.findDOMNode(this.refs.dropdown)).on('hide.bs.dropdown', () => {
this.blockToggle = true;
setTimeout(() => {
this.blockToggle = false;
@@ -51,7 +51,7 @@ export default class NavbarDropdown extends React.Component {
UserStore.removeTeamsChangeListener(this.onListenerChange);
TeamStore.removeChangeListener(this.onListenerChange);
- $(React.findDOMNode(this.refs.dropdown)).off('hide.bs.dropdown');
+ $(ReactDOM.findDOMNode(this.refs.dropdown)).off('hide.bs.dropdown');
}
onListenerChange() {
var newState = getStateFromStores();
diff --git a/web/react/components/new_channel_modal.jsx b/web/react/components/new_channel_modal.jsx
index c3d9c046d1..4e6280c99e 100644
--- a/web/react/components/new_channel_modal.jsx
+++ b/web/react/components/new_channel_modal.jsx
@@ -25,7 +25,7 @@ export default class NewChannelModal extends React.Component {
handleSubmit(e) {
e.preventDefault();
- const displayName = React.findDOMNode(this.refs.display_name).value.trim();
+ const displayName = ReactDOM.findDOMNode(this.refs.display_name).value.trim();
if (displayName.length < 1) {
this.setState({displayNameError: 'This field is required'});
return;
@@ -35,8 +35,8 @@ export default class NewChannelModal extends React.Component {
}
handleChange() {
const newData = {
- displayName: React.findDOMNode(this.refs.display_name).value,
- description: React.findDOMNode(this.refs.channel_desc).value
+ displayName: ReactDOM.findDOMNode(this.refs.display_name).value,
+ description: ReactDOM.findDOMNode(this.refs.channel_desc).value
};
this.props.onDataChanged(newData);
}
diff --git a/web/react/components/password_reset_form.jsx b/web/react/components/password_reset_form.jsx
index 6112adbafb..217f1b3936 100644
--- a/web/react/components/password_reset_form.jsx
+++ b/web/react/components/password_reset_form.jsx
@@ -15,7 +15,7 @@ export default class PasswordResetForm extends React.Component {
e.preventDefault();
var state = {};
- var password = React.findDOMNode(this.refs.password).value.trim();
+ var password = ReactDOM.findDOMNode(this.refs.password).value.trim();
if (!password || password.length < 5) {
state.error = 'Please enter at least 5 characters.';
this.setState(state);
diff --git a/web/react/components/password_reset_send_link.jsx b/web/react/components/password_reset_send_link.jsx
index f547499b07..8f1890705d 100644
--- a/web/react/components/password_reset_send_link.jsx
+++ b/web/react/components/password_reset_send_link.jsx
@@ -16,7 +16,7 @@ export default class PasswordResetSendLink extends React.Component {
e.preventDefault();
var state = {};
- var email = React.findDOMNode(this.refs.email).value.trim().toLowerCase();
+ var email = ReactDOM.findDOMNode(this.refs.email).value.trim().toLowerCase();
if (!email || !Utils.isEmail(email)) {
state.error = 'Please enter a valid email address.';
this.setState(state);
@@ -33,7 +33,7 @@ export default class PasswordResetSendLink extends React.Component {
client.sendPasswordReset(data,
function passwordResetSent() {
this.setState({error: null, updateText:
A password reset link has been sent to {email} for your {this.props.teamDisplayName} team on {window.location.hostname}.
, moreUpdateText: 'Please check your inbox.'});
- $(React.findDOMNode(this.refs.reset_form)).hide();
+ $(ReactDOM.findDOMNode(this.refs.reset_form)).hide();
}.bind(this),
function passwordResetFailedToSend(err) {
this.setState({error: err.message, update_text: null, moreUpdateText: null});
diff --git a/web/react/components/post_body.jsx b/web/react/components/post_body.jsx
index e87ac6743c..1db0b12e71 100644
--- a/web/react/components/post_body.jsx
+++ b/web/react/components/post_body.jsx
@@ -37,7 +37,7 @@ export default class PostBody extends React.Component {
}
parseEmojis() {
- twemoji.parse(React.findDOMNode(this), {size: Constants.EMOJI_SIZE});
+ twemoji.parse(ReactDOM.findDOMNode(this), {size: Constants.EMOJI_SIZE});
}
componentDidMount() {
diff --git a/web/react/components/post_deleted_modal.jsx b/web/react/components/post_deleted_modal.jsx
index 87afc6a7f3..ba07a22f54 100644
--- a/web/react/components/post_deleted_modal.jsx
+++ b/web/react/components/post_deleted_modal.jsx
@@ -15,7 +15,7 @@ export default class PostDeletedModal extends React.Component {
this.state = {};
}
componentDidMount() {
- $(React.findDOMNode(this.refs.modal)).on('hidden.bs.modal', () => {
+ $(ReactDOM.findDOMNode(this.refs.modal)).on('hidden.bs.modal', () => {
this.handleClose();
});
}
diff --git a/web/react/components/post_list.jsx b/web/react/components/post_list.jsx
index 643b38af5b..7e5160c2b9 100644
--- a/web/react/components/post_list.jsx
+++ b/web/react/components/post_list.jsx
@@ -107,7 +107,7 @@ export default class PostList extends React.Component {
UserStore.addStatusesChangeListener(this.onTimeChange);
SocketStore.addChangeListener(this.onSocketChange);
- const postHolder = $(React.findDOMNode(this.refs.postlist));
+ const postHolder = $(ReactDOM.findDOMNode(this.refs.postlist));
$(window).resize(() => {
this.resize();
@@ -133,7 +133,7 @@ export default class PostList extends React.Component {
$('.top-visible-post').removeClass('top-visible-post');
- $(React.findDOMNode(this.refs.postlistcontent)).children().each(function select() {
+ $(ReactDOM.findDOMNode(this.refs.postlistcontent)).children().each(function select() {
if ($(this).position().top + $(this).height() / 2 > 0) {
$(this).addClass('top-visible-post');
return false;
@@ -158,7 +158,7 @@ export default class PostList extends React.Component {
SocketStore.removeChangeListener(this.onSocketChange);
$('body').off('click.userpopover');
$(window).off('resize');
- var postHolder = $(React.findDOMNode(this.refs.postlist));
+ var postHolder = $(ReactDOM.findDOMNode(this.refs.postlist));
postHolder.off('scroll');
}
componentDidUpdate(prevProps, prevState) {
@@ -214,7 +214,7 @@ export default class PostList extends React.Component {
}
}
componentWillUpdate() {
- var postHolder = $(React.findDOMNode(this.refs.postlist));
+ var postHolder = $(ReactDOM.findDOMNode(this.refs.postlist));
this.prevScrollTop = postHolder.scrollTop();
}
componentWillReceiveProps(nextProps) {
@@ -225,7 +225,7 @@ export default class PostList extends React.Component {
}
}
resize() {
- const postHolder = $(React.findDOMNode(this.refs.postlist));
+ const postHolder = $(ReactDOM.findDOMNode(this.refs.postlist));
if ($('#create_post').length > 0) {
const height = $(window).height() - $('#create_post').height() - $('#error_bar').outerHeight() - 50;
postHolder.css('height', height + 'px');
@@ -233,12 +233,12 @@ export default class PostList extends React.Component {
}
scrollTo(val) {
this.isUserScroll = false;
- var postHolder = $(React.findDOMNode(this.refs.postlist));
+ var postHolder = $(ReactDOM.findDOMNode(this.refs.postlist));
postHolder[0].scrollTop = val;
}
scrollToBottom(force) {
this.isUserScroll = false;
- var postHolder = $(React.findDOMNode(this.refs.postlist));
+ var postHolder = $(ReactDOM.findDOMNode(this.refs.postlist));
if ($('#new_message_' + this.props.channelId)[0] && !this.userHasSeenNew && !force) {
$('#new_message_' + this.props.channelId)[0].scrollIntoView();
} else {
@@ -596,14 +596,14 @@ export default class PostList extends React.Component {
var order = this.state.postList.order;
var channelId = this.props.channelId;
- $(React.findDOMNode(this.refs.loadmore)).text('Retrieving more messages...');
+ $(ReactDOM.findDOMNode(this.refs.loadmore)).text('Retrieving more messages...');
Client.getPostsPage(
channelId,
order.length,
Constants.POST_CHUNK_SIZE,
function success(data) {
- $(React.findDOMNode(this.refs.loadmore)).text('Load more messages');
+ $(ReactDOM.findDOMNode(this.refs.loadmore)).text('Load more messages');
this.gotMorePosts = true;
this.setState({numToDisplay: this.state.numToDisplay + Constants.POST_CHUNK_SIZE});
@@ -628,7 +628,7 @@ export default class PostList extends React.Component {
Client.getProfiles();
}.bind(this),
function fail(err) {
- $(React.findDOMNode(this.refs.loadmore)).text('Load more messages');
+ $(ReactDOM.findDOMNode(this.refs.loadmore)).text('Load more messages');
AsyncClient.dispatchError(err, 'getPosts');
}.bind(this)
);
diff --git a/web/react/components/register_app_modal.jsx b/web/react/components/register_app_modal.jsx
index e93c44126d..3d4d9bf458 100644
--- a/web/react/components/register_app_modal.jsx
+++ b/web/react/components/register_app_modal.jsx
@@ -14,7 +14,7 @@ export default class RegisterAppModal extends React.Component {
this.state = {clientId: '', clientSecret: '', saved: false};
}
componentDidMount() {
- $(React.findDOMNode(this)).on('hide.bs.modal', this.onHide);
+ $(ReactDOM.findDOMNode(this)).on('hide.bs.modal', this.onHide);
}
register() {
var state = this.state;
@@ -22,7 +22,7 @@ export default class RegisterAppModal extends React.Component {
var app = {};
- var name = this.refs.name.getDOMNode().value;
+ var name = this.refs.name.value;
if (!name || name.length === 0) {
state.nameError = 'Application name must be filled in.';
this.setState(state);
@@ -31,7 +31,7 @@ export default class RegisterAppModal extends React.Component {
state.nameError = null;
app.name = name;
- var homepage = this.refs.homepage.getDOMNode().value;
+ var homepage = this.refs.homepage.value;
if (!homepage || homepage.length === 0) {
state.homepageError = 'Homepage must be filled in.';
this.setState(state);
@@ -40,10 +40,10 @@ export default class RegisterAppModal extends React.Component {
state.homepageError = null;
app.homepage = homepage;
- var desc = this.refs.desc.getDOMNode().value;
+ var desc = this.refs.desc.value;
app.description = desc;
- var rawCallbacks = this.refs.callback.getDOMNode().value.trim();
+ var rawCallbacks = this.refs.callback.value.trim();
if (!rawCallbacks || rawCallbacks.length === 0) {
state.callbackError = 'At least one callback URL must be filled in.';
this.setState(state);
@@ -73,7 +73,7 @@ export default class RegisterAppModal extends React.Component {
this.setState({clientId: '', clientSecret: '', saved: false});
}
save() {
- this.setState({saved: this.refs.save.getDOMNode().checked});
+ this.setState({saved: this.refs.save.checked});
}
render() {
var nameError;
diff --git a/web/react/components/removed_from_channel_modal.jsx b/web/react/components/removed_from_channel_modal.jsx
index ca35d6fb07..7cf0a2ef19 100644
--- a/web/react/components/removed_from_channel_modal.jsx
+++ b/web/react/components/removed_from_channel_modal.jsx
@@ -37,13 +37,13 @@ export default class RemovedFromChannelModal extends React.Component {
}
componentDidMount() {
- $(React.findDOMNode(this)).on('show.bs.modal', this.handleShow);
- $(React.findDOMNode(this)).on('hidden.bs.modal', this.handleClose);
+ $(ReactDOM.findDOMNode(this)).on('show.bs.modal', this.handleShow);
+ $(ReactDOM.findDOMNode(this)).on('hidden.bs.modal', this.handleClose);
}
componentWillUnmount() {
- $(React.findDOMNode(this)).off('show.bs.modal', this.handleShow);
- $(React.findDOMNode(this)).off('hidden.bs.modal', this.handleClose);
+ $(ReactDOM.findDOMNode(this)).off('show.bs.modal', this.handleShow);
+ $(ReactDOM.findDOMNode(this)).off('hidden.bs.modal', this.handleClose);
}
render() {
diff --git a/web/react/components/rename_channel_modal.jsx b/web/react/components/rename_channel_modal.jsx
index 7f7d4554cf..80f0956f2a 100644
--- a/web/react/components/rename_channel_modal.jsx
+++ b/web/react/components/rename_channel_modal.jsx
@@ -76,13 +76,13 @@ export default class RenameChannelModal extends React.Component {
Client.updateChannel(channel,
function handleUpdateSuccess() {
- $(React.findDOMNode(this.refs.modal)).modal('hide');
+ $(ReactDOM.findDOMNode(this.refs.modal)).modal('hide');
AsyncClient.getChannel(channel.id);
Utils.updateAddressBar(channel.name);
- React.findDOMNode(this.refs.displayName).value = '';
- React.findDOMNode(this.refs.channelName).value = '';
+ ReactDOM.findDOMNode(this.refs.displayName).value = '';
+ ReactDOM.findDOMNode(this.refs.channelName).value = '';
}.bind(this),
function handleUpdateError(err) {
state.serverError = err.message;
@@ -92,15 +92,15 @@ export default class RenameChannelModal extends React.Component {
);
}
onNameChange() {
- this.setState({channelName: React.findDOMNode(this.refs.channelName).value});
+ this.setState({channelName: ReactDOM.findDOMNode(this.refs.channelName).value});
}
onDisplayNameChange() {
- this.setState({displayName: React.findDOMNode(this.refs.displayName).value});
+ this.setState({displayName: ReactDOM.findDOMNode(this.refs.displayName).value});
}
displayNameKeyUp() {
- const displayName = React.findDOMNode(this.refs.displayName).value.trim();
+ const displayName = ReactDOM.findDOMNode(this.refs.displayName).value.trim();
const channelName = Utils.cleanUpUrlable(displayName);
- React.findDOMNode(this.refs.channelName).value = channelName;
+ ReactDOM.findDOMNode(this.refs.channelName).value = channelName;
this.setState({channelName: channelName});
}
handleClose() {
@@ -119,11 +119,11 @@ export default class RenameChannelModal extends React.Component {
this.setState({displayName: button.attr('data-display'), channelName: button.attr('data-name'), channelId: button.attr('data-channelid')});
}
componentDidMount() {
- $(React.findDOMNode(this.refs.modal)).on('show.bs.modal', this.handleShow);
- $(React.findDOMNode(this.refs.modal)).on('hidden.bs.modal', this.handleClose);
+ $(ReactDOM.findDOMNode(this.refs.modal)).on('show.bs.modal', this.handleShow);
+ $(ReactDOM.findDOMNode(this.refs.modal)).on('hidden.bs.modal', this.handleClose);
}
componentWillUnmount() {
- $(React.findDOMNode(this.refs.modal)).off('hidden.bs.modal', this.handleClose);
+ $(ReactDOM.findDOMNode(this.refs.modal)).off('hidden.bs.modal', this.handleClose);
}
render() {
let displayNameError = null;
diff --git a/web/react/components/rhs_comment.jsx b/web/react/components/rhs_comment.jsx
index d1ed9b2c09..402e640800 100644
--- a/web/react/components/rhs_comment.jsx
+++ b/web/react/components/rhs_comment.jsx
@@ -55,7 +55,7 @@ export default class RhsComment extends React.Component {
this.forceUpdate();
}
parseEmojis() {
- twemoji.parse(React.findDOMNode(this), {size: Constants.EMOJI_SIZE});
+ twemoji.parse(ReactDOM.findDOMNode(this), {size: Constants.EMOJI_SIZE});
}
componentDidMount() {
this.parseEmojis();
diff --git a/web/react/components/rhs_root_post.jsx b/web/react/components/rhs_root_post.jsx
index 442d3483ef..a9f1fcd309 100644
--- a/web/react/components/rhs_root_post.jsx
+++ b/web/react/components/rhs_root_post.jsx
@@ -19,7 +19,7 @@ export default class RhsRootPost extends React.Component {
this.state = {};
}
parseEmojis() {
- twemoji.parse(React.findDOMNode(this), {size: Constants.EMOJI_SIZE});
+ twemoji.parse(ReactDOM.findDOMNode(this), {size: Constants.EMOJI_SIZE});
}
componentDidMount() {
this.parseEmojis();
diff --git a/web/react/components/search_bar.jsx b/web/react/components/search_bar.jsx
index a6f9441ec5..2e9764bd9a 100644
--- a/web/react/components/search_bar.jsx
+++ b/web/react/components/search_bar.jsx
@@ -90,7 +90,7 @@ export default class SearchBar extends React.Component {
function success(data) {
this.setState({isSearching: false});
if (utils.isMobile()) {
- React.findDOMNode(this.refs.search).value = '';
+ ReactDOM.findDOMNode(this.refs.search).value = '';
}
AppDispatcher.handleServerAction({
diff --git a/web/react/components/setting_picture.jsx b/web/react/components/setting_picture.jsx
index c9031e67c3..2f577fe39b 100644
--- a/web/react/components/setting_picture.jsx
+++ b/web/react/components/setting_picture.jsx
@@ -12,7 +12,7 @@ export default class SettingPicture extends React.Component {
if (file) {
var reader = new FileReader();
- var img = React.findDOMNode(this.refs.image);
+ var img = ReactDOM.findDOMNode(this.refs.image);
reader.onload = function load(e) {
$(img).attr('src', e.target.result);
};
diff --git a/web/react/components/setting_upload.jsx b/web/react/components/setting_upload.jsx
index c7107b84da..a25789dfff 100644
--- a/web/react/components/setting_upload.jsx
+++ b/web/react/components/setting_upload.jsx
@@ -37,7 +37,7 @@ export default class SettingsUpload extends React.Component {
doSubmit(e) {
e.preventDefault();
- var inputnode = React.findDOMNode(this.refs.uploadinput);
+ var inputnode = ReactDOM.findDOMNode(this.refs.uploadinput);
if (inputnode.files && inputnode.files[0]) {
this.props.submit(inputnode.files[0]);
} else {
diff --git a/web/react/components/sidebar.jsx b/web/react/components/sidebar.jsx
index e7d90bb881..7a209de2b8 100644
--- a/web/react/components/sidebar.jsx
+++ b/web/react/components/sidebar.jsx
@@ -284,13 +284,13 @@ export default class Sidebar extends React.Component {
this.updateUnreadIndicators();
}
updateUnreadIndicators() {
- const container = $(React.findDOMNode(this.refs.container));
+ const container = $(ReactDOM.findDOMNode(this.refs.container));
var showTopUnread = false;
var showBottomUnread = false;
if (this.firstUnreadChannel) {
- var firstUnreadElement = $(React.findDOMNode(this.refs[this.firstUnreadChannel]));
+ var firstUnreadElement = $(ReactDOM.findDOMNode(this.refs[this.firstUnreadChannel]));
if (firstUnreadElement.position().top + firstUnreadElement.height() < 0) {
showTopUnread = true;
@@ -298,7 +298,7 @@ export default class Sidebar extends React.Component {
}
if (this.lastUnreadChannel) {
- var lastUnreadElement = $(React.findDOMNode(this.refs[this.lastUnreadChannel]));
+ var lastUnreadElement = $(ReactDOM.findDOMNode(this.refs[this.lastUnreadChannel]));
if (lastUnreadElement.position().top > container.height()) {
showBottomUnread = true;
diff --git a/web/react/components/signup_user_complete.jsx b/web/react/components/signup_user_complete.jsx
index 98f862e69b..f74c29d27a 100644
--- a/web/react/components/signup_user_complete.jsx
+++ b/web/react/components/signup_user_complete.jsx
@@ -28,7 +28,7 @@ export default class SignupUserComplete extends React.Component {
handleSubmit(e) {
e.preventDefault();
- const providedEmail = React.findDOMNode(this.refs.email).value.trim();
+ const providedEmail = ReactDOM.findDOMNode(this.refs.email).value.trim();
if (!providedEmail) {
this.setState({nameError: '', emailError: 'This field is required', passwordError: ''});
return;
@@ -39,7 +39,7 @@ export default class SignupUserComplete extends React.Component {
return;
}
- const providedUsername = React.findDOMNode(this.refs.name).value.trim().toLowerCase();
+ const providedUsername = ReactDOM.findDOMNode(this.refs.name).value.trim().toLowerCase();
if (!providedUsername) {
this.setState({nameError: 'This field is required', emailError: '', passwordError: '', serverError: ''});
return;
@@ -59,7 +59,7 @@ export default class SignupUserComplete extends React.Component {
return;
}
- const providedPassword = React.findDOMNode(this.refs.password).value.trim();
+ const providedPassword = ReactDOM.findDOMNode(this.refs.password).value.trim();
if (!providedPassword || providedPassword.length < 5) {
this.setState({nameError: '', emailError: '', passwordError: 'Please enter at least 5 characters', serverError: ''});
return;
diff --git a/web/react/components/team_members.jsx b/web/react/components/team_members.jsx
index 0f60d93b21..33590c89ad 100644
--- a/web/react/components/team_members.jsx
+++ b/web/react/components/team_members.jsx
@@ -44,11 +44,11 @@ export default class TeamMembers extends React.Component {
UserStore.addChangeListener(this.onChange);
var self = this;
- $(React.findDOMNode(this.refs.modal)).on('hidden.bs.modal', function show() {
+ $(ReactDOM.findDOMNode(this.refs.modal)).on('hidden.bs.modal', function show() {
self.setState({render_members: false});
});
- $(React.findDOMNode(this.refs.modal)).on('show.bs.modal', function hide() {
+ $(ReactDOM.findDOMNode(this.refs.modal)).on('show.bs.modal', function hide() {
self.setState({render_members: true});
});
}
diff --git a/web/react/components/team_signup_display_name_page.jsx b/web/react/components/team_signup_display_name_page.jsx
index c91ed08116..4d08274e4b 100644
--- a/web/react/components/team_signup_display_name_page.jsx
+++ b/web/react/components/team_signup_display_name_page.jsx
@@ -21,7 +21,7 @@ export default class TeamSignupDisplayNamePage extends React.Component {
submitNext(e) {
e.preventDefault();
- var displayName = React.findDOMNode(this.refs.name).value.trim();
+ var displayName = ReactDOM.findDOMNode(this.refs.name).value.trim();
if (!displayName) {
this.setState({nameError: 'This field is required'});
return;
diff --git a/web/react/components/team_signup_email_item.jsx b/web/react/components/team_signup_email_item.jsx
index 7253e80e92..1d2b24ed75 100644
--- a/web/react/components/team_signup_email_item.jsx
+++ b/web/react/components/team_signup_email_item.jsx
@@ -13,10 +13,10 @@ export default class TeamSignupEmailItem extends React.Component {
this.state = {};
}
getValue() {
- return React.findDOMNode(this.refs.email).value.trim();
+ return ReactDOM.findDOMNode(this.refs.email).value.trim();
}
validate(teamEmail) {
- const email = React.findDOMNode(this.refs.email).value.trim().toLowerCase();
+ const email = ReactDOM.findDOMNode(this.refs.email).value.trim().toLowerCase();
if (!email) {
return true;
diff --git a/web/react/components/team_signup_password_page.jsx b/web/react/components/team_signup_password_page.jsx
index cb9a9f05b9..daa898b533 100644
--- a/web/react/components/team_signup_password_page.jsx
+++ b/web/react/components/team_signup_password_page.jsx
@@ -22,7 +22,7 @@ export default class TeamSignupPasswordPage extends React.Component {
submitNext(e) {
e.preventDefault();
- var password = React.findDOMNode(this.refs.password).value.trim();
+ var password = ReactDOM.findDOMNode(this.refs.password).value.trim();
if (!password || password.length < 5) {
this.setState({passwordError: 'Please enter at least 5 characters'});
return;
diff --git a/web/react/components/team_signup_url_page.jsx b/web/react/components/team_signup_url_page.jsx
index 3fb0aaa27c..67e4c9dd7a 100644
--- a/web/react/components/team_signup_url_page.jsx
+++ b/web/react/components/team_signup_url_page.jsx
@@ -23,7 +23,7 @@ export default class TeamSignupUrlPage extends React.Component {
submitNext(e) {
e.preventDefault();
- const name = React.findDOMNode(this.refs.name).value.trim();
+ const name = ReactDOM.findDOMNode(this.refs.name).value.trim();
if (!name) {
this.setState({nameError: 'This field is required'});
return;
diff --git a/web/react/components/team_signup_username_page.jsx b/web/react/components/team_signup_username_page.jsx
index 82dabad3d3..fa8a031a0a 100644
--- a/web/react/components/team_signup_username_page.jsx
+++ b/web/react/components/team_signup_username_page.jsx
@@ -21,7 +21,7 @@ export default class TeamSignupUsernamePage extends React.Component {
submitNext(e) {
e.preventDefault();
- var name = React.findDOMNode(this.refs.name).value.trim().toLowerCase();
+ var name = ReactDOM.findDOMNode(this.refs.name).value.trim().toLowerCase();
var usernameError = Utils.isValidUsername(name);
if (usernameError === 'Cannot use a reserved word as a username.') {
diff --git a/web/react/components/team_signup_welcome_page.jsx b/web/react/components/team_signup_welcome_page.jsx
index 2d7ef081f9..1e9d8df0a6 100644
--- a/web/react/components/team_signup_welcome_page.jsx
+++ b/web/react/components/team_signup_welcome_page.jsx
@@ -36,7 +36,7 @@ export default class TeamSignupWelcomePage extends React.Component {
var state = {useDiff: true, serverError: ''};
- var email = React.findDOMNode(this.refs.email).value.trim().toLowerCase();
+ var email = ReactDOM.findDOMNode(this.refs.email).value.trim().toLowerCase();
if (!email || !Utils.isEmail(email)) {
state.emailError = 'Please enter a valid email address';
this.setState(state);
diff --git a/web/react/components/team_signup_with_email.jsx b/web/react/components/team_signup_with_email.jsx
index ba32a9f976..ff4ccd4d8b 100644
--- a/web/react/components/team_signup_with_email.jsx
+++ b/web/react/components/team_signup_with_email.jsx
@@ -17,7 +17,7 @@ export default class EmailSignUpPage extends React.Component {
var team = {};
var state = {serverError: ''};
- team.email = React.findDOMNode(this.refs.email).value.trim().toLowerCase();
+ team.email = ReactDOM.findDOMNode(this.refs.email).value.trim().toLowerCase();
if (!team.email || !Utils.isEmail(team.email)) {
state.emailError = 'Please enter a valid email address';
state.inValid = true;
diff --git a/web/react/components/team_signup_with_sso.jsx b/web/react/components/team_signup_with_sso.jsx
index 6ccf762c19..a0ccdf2c79 100644
--- a/web/react/components/team_signup_with_sso.jsx
+++ b/web/react/components/team_signup_with_sso.jsx
@@ -54,7 +54,7 @@ export default class SSOSignUpPage extends React.Component {
);
}
nameChange() {
- this.setState({name: React.findDOMNode(this.refs.teamname).value.trim()});
+ this.setState({name: ReactDOM.findDOMNode(this.refs.teamname).value.trim()});
}
render() {
var nameError = null;
diff --git a/web/react/components/textbox.jsx b/web/react/components/textbox.jsx
index 741dbcd5d2..d51fb95239 100644
--- a/web/react/components/textbox.jsx
+++ b/web/react/components/textbox.jsx
@@ -83,7 +83,7 @@ export default class Textbox extends React.Component {
componentDidUpdate() {
if (this.caret >= 0) {
- Utils.setCaretPosition(React.findDOMNode(this.refs.message), this.caret);
+ Utils.setCaretPosition(ReactDOM.findDOMNode(this.refs.message), this.caret);
this.caret = -1;
}
if (this.doProcessMentions) {
@@ -97,7 +97,7 @@ export default class Textbox extends React.Component {
if (!this.addedMention) {
this.checkForNewMention(nextProps.messageText);
}
- const text = React.findDOMNode(this.refs.message).value;
+ const text = ReactDOM.findDOMNode(this.refs.message).value;
if (nextProps.channelId !== this.props.channelId || nextProps.messageText !== text) {
this.doProcessMentions = true;
}
@@ -117,11 +117,11 @@ export default class Textbox extends React.Component {
}
handleChange() {
- this.props.onUserInput(React.findDOMNode(this.refs.message).value);
+ this.props.onUserInput(ReactDOM.findDOMNode(this.refs.message).value);
}
handleKeyPress(e) {
- const text = React.findDOMNode(this.refs.message).value;
+ const text = ReactDOM.findDOMNode(this.refs.message).value;
if (!this.refs.commands.isEmpty() && text.indexOf('/') === 0 && e.which === 13) {
this.refs.commands.addFirstCommand();
@@ -130,7 +130,7 @@ export default class Textbox extends React.Component {
}
if (!this.doProcessMentions) {
- const caret = Utils.getCaretPosition(React.findDOMNode(this.refs.message));
+ const caret = Utils.getCaretPosition(ReactDOM.findDOMNode(this.refs.message));
const preText = text.substring(0, caret);
const lastSpace = preText.lastIndexOf(' ');
const lastAt = preText.lastIndexOf('@');
@@ -144,7 +144,7 @@ export default class Textbox extends React.Component {
}
handleKeyDown(e) {
- if (Utils.getSelectedText(React.findDOMNode(this.refs.message)) !== '') {
+ if (Utils.getSelectedText(ReactDOM.findDOMNode(this.refs.message)) !== '') {
this.doProcessMentions = true;
}
@@ -154,7 +154,7 @@ export default class Textbox extends React.Component {
}
handleBackspace() {
- const text = React.findDOMNode(this.refs.message).value;
+ const text = ReactDOM.findDOMNode(this.refs.message).value;
if (text.indexOf('/') === 0) {
this.refs.commands.getSuggestedCommands(text.substring(0, text.length - 1));
}
@@ -163,7 +163,7 @@ export default class Textbox extends React.Component {
return;
}
- const caret = Utils.getCaretPosition(React.findDOMNode(this.refs.message));
+ const caret = Utils.getCaretPosition(ReactDOM.findDOMNode(this.refs.message));
const preText = text.substring(0, caret);
const lastSpace = preText.lastIndexOf(' ');
const lastAt = preText.lastIndexOf('@');
@@ -174,7 +174,7 @@ export default class Textbox extends React.Component {
}
checkForNewMention(text) {
- const caret = Utils.getCaretPosition(React.findDOMNode(this.refs.message));
+ const caret = Utils.getCaretPosition(ReactDOM.findDOMNode(this.refs.message));
const preText = text.substring(0, caret);
@@ -201,7 +201,7 @@ export default class Textbox extends React.Component {
}
addMention(name) {
- const caret = Utils.getCaretPosition(React.findDOMNode(this.refs.message));
+ const caret = Utils.getCaretPosition(ReactDOM.findDOMNode(this.refs.message));
const text = this.props.messageText;
@@ -224,14 +224,14 @@ export default class Textbox extends React.Component {
}
addCommand(cmd) {
- const elm = React.findDOMNode(this.refs.message);
+ const elm = ReactDOM.findDOMNode(this.refs.message);
elm.value = cmd;
this.handleChange();
}
resize() {
- const e = React.findDOMNode(this.refs.message);
- const w = React.findDOMNode(this.refs.wrapper);
+ const e = ReactDOM.findDOMNode(this.refs.message);
+ const w = ReactDOM.findDOMNode(this.refs.wrapper);
const prevHeight = $(e).height();
@@ -259,14 +259,14 @@ export default class Textbox extends React.Component {
}
handleFocus() {
- const elm = React.findDOMNode(this.refs.message);
+ const elm = ReactDOM.findDOMNode(this.refs.message);
if (elm.title === elm.value) {
elm.value = '';
}
}
handleBlur() {
- const elm = React.findDOMNode(this.refs.message);
+ const elm = ReactDOM.findDOMNode(this.refs.message);
if (elm.value === '') {
elm.value = elm.title;
}
diff --git a/web/react/components/user_settings/import_theme_modal.jsx b/web/react/components/user_settings/import_theme_modal.jsx
index de0663874f..1a9ac0ad39 100644
--- a/web/react/components/user_settings/import_theme_modal.jsx
+++ b/web/react/components/user_settings/import_theme_modal.jsx
@@ -35,7 +35,7 @@ export default class ImportThemeModal extends React.Component {
handleSubmit(e) {
e.preventDefault();
- const text = React.findDOMNode(this.refs.input).value;
+ const text = ReactDOM.findDOMNode(this.refs.input).value;
if (!this.isInputValid(text)) {
this.setState({inputError: 'Invalid format, please try copying and pasting in again.'});
diff --git a/web/react/components/user_settings/user_settings_appearance.jsx b/web/react/components/user_settings/user_settings_appearance.jsx
index a16440d555..7f363e92e9 100644
--- a/web/react/components/user_settings/user_settings_appearance.jsx
+++ b/web/react/components/user_settings/user_settings_appearance.jsx
@@ -29,14 +29,14 @@ export default class UserSettingsAppearance extends React.Component {
UserStore.addChangeListener(this.onChange);
if (this.props.activeSection === 'theme') {
- $(React.findDOMNode(this.refs[this.state.theme])).addClass('active-border');
+ $(ReactDOM.findDOMNode(this.refs[this.state.theme])).addClass('active-border');
}
$('#user_settings').on('hidden.bs.modal', this.handleClose);
}
componentDidUpdate() {
if (this.props.activeSection === 'theme') {
$('.color-btn').removeClass('active-border');
- $(React.findDOMNode(this.refs[this.state.theme])).addClass('active-border');
+ $(ReactDOM.findDOMNode(this.refs[this.state.theme])).addClass('active-border');
}
}
componentWillUnmount() {
diff --git a/web/react/components/user_settings/user_settings_general.jsx b/web/react/components/user_settings/user_settings_general.jsx
index 0e872315d5..9c03f77a64 100644
--- a/web/react/components/user_settings/user_settings_general.jsx
+++ b/web/react/components/user_settings/user_settings_general.jsx
@@ -211,7 +211,7 @@ export default class UserSettingsGeneralTab extends React.Component {
this.props.updateSection(section);
}
handleClose() {
- $(React.findDOMNode(this)).find('.form-control').each(function clearForms() {
+ $(ReactDOM.findDOMNode(this)).find('.form-control').each(function clearForms() {
this.value = '';
});
diff --git a/web/react/components/user_settings/user_settings_notifications.jsx b/web/react/components/user_settings/user_settings_notifications.jsx
index 4728a33ee4..4dbb9b96fd 100644
--- a/web/react/components/user_settings/user_settings_notifications.jsx
+++ b/web/react/components/user_settings/user_settings_notifications.jsx
@@ -129,7 +129,7 @@ export default class NotificationsTab extends React.Component {
);
}
handleClose() {
- $(React.findDOMNode(this)).find('.form-control').each(function clearField() {
+ $(ReactDOM.findDOMNode(this)).find('.form-control').each(function clearField() {
this.value = '';
});
@@ -158,15 +158,15 @@ export default class NotificationsTab extends React.Component {
}
handleNotifyRadio(notifyLevel) {
this.setState({notifyLevel: notifyLevel});
- React.findDOMNode(this.refs.wrapper).focus();
+ ReactDOM.findDOMNode(this.refs.wrapper).focus();
}
handleEmailRadio(enableEmail) {
this.setState({enableEmail: enableEmail});
- React.findDOMNode(this.refs.wrapper).focus();
+ ReactDOM.findDOMNode(this.refs.wrapper).focus();
}
handleSoundRadio(enableSound) {
this.setState({enableSound: enableSound});
- React.findDOMNode(this.refs.wrapper).focus();
+ ReactDOM.findDOMNode(this.refs.wrapper).focus();
}
updateUsernameKey(val) {
this.setState({usernameKey: val});
@@ -184,10 +184,10 @@ export default class NotificationsTab extends React.Component {
this.setState({channelKey: val});
}
updateCustomMentionKeys() {
- var checked = React.findDOMNode(this.refs.customcheck).checked;
+ var checked = ReactDOM.findDOMNode(this.refs.customcheck).checked;
if (checked) {
- var text = React.findDOMNode(this.refs.custommentions).value;
+ var text = ReactDOM.findDOMNode(this.refs.custommentions).value;
// remove all spaces and split string into individual keys
this.setState({customKeys: text.replace(/ /g, ''), customKeysChecked: true});
@@ -196,7 +196,7 @@ export default class NotificationsTab extends React.Component {
}
}
onCustomChange() {
- React.findDOMNode(this.refs.customcheck).checked = true;
+ ReactDOM.findDOMNode(this.refs.customcheck).checked = true;
this.updateCustomMentionKeys();
}
render() {
diff --git a/web/react/components/user_settings/user_settings_security.jsx b/web/react/components/user_settings/user_settings_security.jsx
index 74190781c0..983a10df0b 100644
--- a/web/react/components/user_settings/user_settings_security.jsx
+++ b/web/react/components/user_settings/user_settings_security.jsx
@@ -82,7 +82,7 @@ export default class SecurityTab extends React.Component {
$('#user_settings').modal('hide');
}
handleClose() {
- $(React.findDOMNode(this)).find('.form-control').each(function resetValue() {
+ $(ReactDOM.findDOMNode(this)).find('.form-control').each(function resetValue() {
this.value = '';
});
this.setState({currentPassword: '', newPassword: '', confirmPassword: '', serverError: null, passwordError: null});
diff --git a/web/react/components/view_image.jsx b/web/react/components/view_image.jsx
index c5f0abc126..f756934709 100644
--- a/web/react/components/view_image.jsx
+++ b/web/react/components/view_image.jsx
@@ -77,7 +77,7 @@ export default class ViewImageModal extends React.Component {
}
onModalHidden() {
if (this.refs.video) {
- var video = React.findDOMNode(this.refs.video);
+ var video = ReactDOM.findDOMNode(this.refs.video);
video.pause();
video.currentTime = 0;
}
diff --git a/web/react/pages/admin_console.jsx b/web/react/pages/admin_console.jsx
index 7e7dcfae81..c89cb4edc8 100644
--- a/web/react/pages/admin_console.jsx
+++ b/web/react/pages/admin_console.jsx
@@ -6,17 +6,17 @@ var SelectTeamModal = require('../components/admin_console/select_team_modal.jsx
var AdminController = require('../components/admin_console/admin_controller.jsx');
export function setupAdminConsolePage() {
- React.render(
+ ReactDOM.render(
,
document.getElementById('admin_controller')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('select_team_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('error_bar')
);
diff --git a/web/react/pages/authorize.jsx b/web/react/pages/authorize.jsx
index 1338e6cc28..2bc8b539d4 100644
--- a/web/react/pages/authorize.jsx
+++ b/web/react/pages/authorize.jsx
@@ -4,7 +4,7 @@
var Authorize = require('../components/authorize.jsx');
function setupAuthorizePage(props) {
- React.render(
+ ReactDOM.render(
,
document.getElementById('channel_loader')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('error_bar')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('navbar')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('get_link_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('user_settings_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('import_theme_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('team_settings_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('team_members_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('invite_member_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('channel-header')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('edit_channel_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('delete_channel_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('rename_channel_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('channel_notifications_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('channel_members_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('channel_invite_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('channel_info_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('more_channels_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('post-list')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('edit_post_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('delete_post_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('post_deleted_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('post-create')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('sidebar-right')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('post_mention_tab')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('reply_mention_tab')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('edit_mention_tab')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('access_history_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('activity_log_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('removed_from_channel_modal')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('file_upload_overlay')
);
- React.render(
+ ReactDOM.render(
,
document.getElementById('register_app_modal')
);
diff --git a/web/react/pages/find_team.jsx b/web/react/pages/find_team.jsx
index d901e380b8..f95fce5c6a 100644
--- a/web/react/pages/find_team.jsx
+++ b/web/react/pages/find_team.jsx
@@ -4,7 +4,7 @@
var FindTeam = require('../components/find_team.jsx');
function setupFindTeamPage() {
- React.render(
+ ReactDOM.render(
,
document.getElementById('find-team')
);
diff --git a/web/react/pages/login.jsx b/web/react/pages/login.jsx
index 17835c47f9..430de980c2 100644
--- a/web/react/pages/login.jsx
+++ b/web/react/pages/login.jsx
@@ -4,7 +4,7 @@
var Login = require('../components/login.jsx');
function setupLoginPage(props) {
- React.render(
+ ReactDOM.render(
,
document.getElementById('signup-team')
);
diff --git a/web/react/pages/signup_team_complete.jsx b/web/react/pages/signup_team_complete.jsx
index 5721178678..44ec05b988 100644
--- a/web/react/pages/signup_team_complete.jsx
+++ b/web/react/pages/signup_team_complete.jsx
@@ -4,7 +4,7 @@
var SignupTeamComplete = require('../components/signup_team_complete.jsx');
function setupSignupTeamCompletePage(props) {
- React.render(
+ ReactDOM.render(