PLT-6099 Added keys to contents of PostBodyAdditionalContent (#6059)

Этот коммит содержится в:
Harrison Healey
2017-04-12 17:24:43 -04:00
коммит произвёл Corey Hulen
родитель d405cff905
Коммит f961378600

Просмотреть файл

@@ -153,30 +153,36 @@ export default class PostBodyAdditionalContent extends React.Component {
render() { render() {
if (this.isLinkToggleable() && !this.state.linkLoadError) { if (this.isLinkToggleable() && !this.state.linkLoadError) {
const messageWithToggle = [];
// if message has only one line and starts with a link place toggle in this only line // if message has only one line and starts with a link place toggle in this only line
// else - place it in new line between message and embed // else - place it in new line between message and embed
const prependToggle = (/^\s*https?:\/\/.*$/).test(this.props.post.message); const prependToggle = (/^\s*https?:\/\/.*$/).test(this.props.post.message);
messageWithToggle.push(
const toggle = (
<a <a
key='toggle'
className={`post__embed-visibility ${prependToggle ? 'pull-left' : ''}`} className={`post__embed-visibility ${prependToggle ? 'pull-left' : ''}`}
data-expanded={this.state.embedVisible} data-expanded={this.state.embedVisible}
aria-label='Toggle Embed Visibility' aria-label='Toggle Embed Visibility'
onClick={this.toggleEmbedVisibility} onClick={this.toggleEmbedVisibility}
/> />
); );
const message = (
<div key='message'>
{this.props.message}
</div>
);
let contents;
if (prependToggle) { if (prependToggle) {
messageWithToggle.push(this.props.message); contents = [toggle, message];
} else { } else {
messageWithToggle.unshift(this.props.message); contents = [message, toggle];
} }
let toggleableEmbed;
if (this.state.embedVisible) { if (this.state.embedVisible) {
toggleableEmbed = ( contents.push(
<div <div
key='embed'
className='post__embed-container' className='post__embed-container'
> >
{this.generateToggleableEmbed()} {this.generateToggleableEmbed()}
@@ -186,8 +192,7 @@ export default class PostBodyAdditionalContent extends React.Component {
return ( return (
<div> <div>
{messageWithToggle} {contents}
{toggleableEmbed}
</div> </div>
); );
} }