diff --git a/bigbluebutton-html5/imports/ui/components/chat/alert/component.jsx b/bigbluebutton-html5/imports/ui/components/chat/alert/component.jsx index 923f1b97d5970f580c99747fc86cad3cc57e089f..2c9408a3929c50bb20fc83d249060286646003a6 100755 --- a/bigbluebutton-html5/imports/ui/components/chat/alert/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/chat/alert/component.jsx @@ -1,4 +1,4 @@ -import React, { Component } from 'react'; +import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import { defineMessages, injectIntl } from 'react-intl'; import { Session } from 'meteor/session'; @@ -37,7 +37,7 @@ const intlMessages = defineMessages({ const PUBLIC_KEY = 'public'; const PRIVATE_KEY = 'private'; -class ChatAlert extends Component { +class ChatAlert extends PureComponent { constructor(props) { super(props); this.state = { diff --git a/bigbluebutton-html5/imports/ui/components/chat/alert/container.jsx b/bigbluebutton-html5/imports/ui/components/chat/alert/container.jsx index b0bee3dd6be4cc6ed32f43f4d3adb455ef42f4a0..bddf44f9129003ca6e7aab793964abc4c6b561b7 100755 --- a/bigbluebutton-html5/imports/ui/components/chat/alert/container.jsx +++ b/bigbluebutton-html5/imports/ui/components/chat/alert/container.jsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { memo } from 'react'; import { withTracker } from 'meteor/react-meteor-data'; import UserListService from '/imports/ui/components/user-list/service'; import Settings from '/imports/ui/services/settings'; @@ -18,4 +18,4 @@ export default withTracker(() => { openChats, publicUserId: Meteor.settings.public.chat.public_group_id, }; -})(ChatAlertContainer); +})(memo(ChatAlertContainer)); diff --git a/bigbluebutton-html5/imports/ui/components/chat/alert/push-alert/component.jsx b/bigbluebutton-html5/imports/ui/components/chat/alert/push-alert/component.jsx index 6cae1188ed8aaf5be5db05cfdf538b5e58ae679a..ba73f249ff3953d15c29377717dfdb71de8261cf 100755 --- a/bigbluebutton-html5/imports/ui/components/chat/alert/push-alert/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/chat/alert/push-alert/component.jsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import _ from 'lodash'; import injectNotify from '/imports/ui/components/toast/inject-notify/component'; @@ -15,7 +15,7 @@ const propTypes = { content: PropTypes.node.isRequired, }; -class ChatPushAlert extends React.Component { +class ChatPushAlert extends PureComponent { static link(message, chatId) { return ( <div diff --git a/bigbluebutton-html5/imports/ui/components/chat/chat-dropdown/component.jsx b/bigbluebutton-html5/imports/ui/components/chat/chat-dropdown/component.jsx index 48433e1782a5cb6c800d9e63c335245b65f567cc..f4be63330d87acdf538131d003bd69214d1d1c85 100644 --- a/bigbluebutton-html5/imports/ui/components/chat/chat-dropdown/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/chat/chat-dropdown/component.jsx @@ -1,4 +1,4 @@ -import React, { Component } from 'react'; +import React, { PureComponent } from 'react'; import { defineMessages, injectIntl } from 'react-intl'; import { withModalMounter } from '/imports/ui/components/modal/service'; import Clipboard from 'clipboard'; @@ -33,7 +33,7 @@ const intlMessages = defineMessages({ }, }); -class ChatDropdown extends Component { +class ChatDropdown extends PureComponent { constructor(props) { super(props); diff --git a/bigbluebutton-html5/imports/ui/components/chat/component.jsx b/bigbluebutton-html5/imports/ui/components/chat/component.jsx index 7c6faba8da1abb827d15409b607fc135877bf7f9..03c00b88a9877a73e9337feb967621f5df038660 100644 --- a/bigbluebutton-html5/imports/ui/components/chat/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/chat/component.jsx @@ -1,4 +1,4 @@ -import React from 'react'; +import React, { memo } from 'react'; import PropTypes from 'prop-types'; import { defineMessages, injectIntl } from 'react-intl'; import injectWbResizeEvent from '/imports/ui/components/presentation/resize-wrapper/component'; @@ -109,7 +109,7 @@ const Chat = (props) => { ); }; -export default withShortcutHelper(injectWbResizeEvent(injectIntl(Chat)), ['hidePrivateChat', 'closePrivateChat']); +export default withShortcutHelper(injectWbResizeEvent(injectIntl(memo(Chat))), ['hidePrivateChat', 'closePrivateChat']); const propTypes = { chatID: PropTypes.string.isRequired, diff --git a/bigbluebutton-html5/imports/ui/components/chat/container.jsx b/bigbluebutton-html5/imports/ui/components/chat/container.jsx index be1314c06f583ccafc5ec8017395f2229d37b751..349a27780a5e1d57d3b3f0671a50fd419efc6a73 100644 --- a/bigbluebutton-html5/imports/ui/components/chat/container.jsx +++ b/bigbluebutton-html5/imports/ui/components/chat/container.jsx @@ -1,4 +1,4 @@ -import React, { Component } from 'react'; +import React, { PureComponent } from 'react'; import { defineMessages, injectIntl } from 'react-intl'; import { withTracker } from 'meteor/react-meteor-data'; import { Session } from 'meteor/session'; @@ -29,11 +29,12 @@ const intlMessages = defineMessages({ }, }); -class ChatContainer extends Component { +class ChatContainer extends PureComponent { componentDidMount() { // in case of reopening a chat, need to make sure it's removed from closed list ChatService.removeFromClosedChatsSession(); } + render() { return ( <Chat {...this.props}> diff --git a/bigbluebutton-html5/imports/ui/components/chat/message-form/component.jsx b/bigbluebutton-html5/imports/ui/components/chat/message-form/component.jsx index 78bcc8081ed27b1ccc14ae0dcdc0358bc505bd76..85d0c213b78dd15b60ca99960488a23aaceb9de1 100755 --- a/bigbluebutton-html5/imports/ui/components/chat/message-form/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/chat/message-form/component.jsx @@ -1,4 +1,4 @@ -import React, { Component } from 'react'; +import React, { PureComponent } from 'react'; import { defineMessages, injectIntl } from 'react-intl'; import cx from 'classnames'; import TextareaAutosize from 'react-autosize-textarea'; @@ -32,7 +32,7 @@ const messages = defineMessages({ }, }); -class MessageForm extends Component { +class MessageForm extends PureComponent { constructor(props) { super(props); diff --git a/bigbluebutton-html5/imports/ui/components/chat/message-form/message-form-actions/component.jsx b/bigbluebutton-html5/imports/ui/components/chat/message-form/message-form-actions/component.jsx deleted file mode 100644 index 08da9326f032c7404ab64cc113f607894acafc6c..0000000000000000000000000000000000000000 --- a/bigbluebutton-html5/imports/ui/components/chat/message-form/message-form-actions/component.jsx +++ /dev/null @@ -1,23 +0,0 @@ -import React from 'react'; - -import Icon from '../../../icon/component'; -import BaseButton from '../../../button/base/component'; - -const propTypes = { - ...BaseButton.propTypes, -}; - -const defaultProps = { - ...BaseButton.defaultProps, -}; - -const MessageFormActions = () => ( - <BaseButton {...this.props}> - <Icon iconName={'add'} /> - </BaseButton> -); - -export default - - MessageFormActions.propTypes = propTypes; -MessageFormActions.defaultProps = defaultProps; diff --git a/bigbluebutton-html5/imports/ui/components/chat/message-form/message-form-actions/styles.scss b/bigbluebutton-html5/imports/ui/components/chat/message-form/message-form-actions/styles.scss deleted file mode 100644 index 0d56ef179f74efcc38d97be3cdc403754e4d82ca..0000000000000000000000000000000000000000 --- a/bigbluebutton-html5/imports/ui/components/chat/message-form/message-form-actions/styles.scss +++ /dev/null @@ -1 +0,0 @@ -@import "/imports/ui/stylesheets/variables/_all"; diff --git a/bigbluebutton-html5/imports/ui/components/chat/message-list/message-list-item/message/component.jsx b/bigbluebutton-html5/imports/ui/components/chat/message-list/message-list-item/message/component.jsx index c946e6ceeb7c085841452ae408166feeeb52ea23..614d2f28869591e8e52ae9aa9e011faa0f969a2a 100644 --- a/bigbluebutton-html5/imports/ui/components/chat/message-list/message-list-item/message/component.jsx +++ b/bigbluebutton-html5/imports/ui/components/chat/message-list/message-list-item/message/component.jsx @@ -1,4 +1,4 @@ -import React, { Component } from 'react'; +import React, { PureComponent } from 'react'; import PropTypes from 'prop-types'; import _ from 'lodash'; @@ -28,7 +28,7 @@ const isElementInViewport = (el) => { ); }; -export default class MessageListItem extends Component { +export default class MessageListItem extends PureComponent { constructor(props) { super(props);