forked from cybrespace/mastodon
		
	Parse links in status content on update as well as mount (#4042)
* Update links in status content on update as well as mount Fixes occasional bugs with mentions and hashtags not being set to open in a new column like they should, and instead opening in a new page * use classList instead of raw className
This commit is contained in:
		
							parent
							
								
									9c03fd9cae
								
							
						
					
					
						commit
						6bf6d35637
					
				
					 1 changed files with 12 additions and 2 deletions
				
			
		| 
						 | 
					@ -25,12 +25,17 @@ export default class StatusContent extends React.PureComponent {
 | 
				
			||||||
    hidden: true,
 | 
					    hidden: true,
 | 
				
			||||||
  };
 | 
					  };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  componentDidMount () {
 | 
					  _updateStatusLinks () {
 | 
				
			||||||
    const node  = this.node;
 | 
					    const node  = this.node;
 | 
				
			||||||
    const links = node.querySelectorAll('a');
 | 
					    const links = node.querySelectorAll('a');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for (var i = 0; i < links.length; ++i) {
 | 
					    for (var i = 0; i < links.length; ++i) {
 | 
				
			||||||
      let link = links[i];
 | 
					      let link = links[i];
 | 
				
			||||||
 | 
					      if (link.classList.contains('status-link')) {
 | 
				
			||||||
 | 
					        continue;
 | 
				
			||||||
 | 
					      }
 | 
				
			||||||
 | 
					      link.classList.add('status-link');
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      let mention = this.props.status.get('mentions').find(item => link.href === item.get('url'));
 | 
					      let mention = this.props.status.get('mentions').find(item => link.href === item.get('url'));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      if (mention) {
 | 
					      if (mention) {
 | 
				
			||||||
| 
						 | 
					@ -46,10 +51,15 @@ export default class StatusContent extends React.PureComponent {
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  componentDidMount () {
 | 
				
			||||||
 | 
					    this._updateStatusLinks();
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  componentDidUpdate () {
 | 
					  componentDidUpdate () {
 | 
				
			||||||
    if (this.props.onHeightUpdate) {
 | 
					    if (this.props.onHeightUpdate) {
 | 
				
			||||||
      this.props.onHeightUpdate();
 | 
					      this.props.onHeightUpdate();
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    this._updateStatusLinks();
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  onMentionClick = (mention, e) => {
 | 
					  onMentionClick = (mention, e) => {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue