PLT-1752/PLT-3567/PLT-3998 Highlighting links in search, unit tests for autolinking (#3865)

* Added highlighting to links when their URL includes the search term

* Decoupling UserStore from react-router to allow for unit tests involving it

* PLT-3998 Added SiteURL as an option to be passed into the text formatting code

* Removed reference to PreferenceStore and window from TextFormatting

* Refactored TextFormatting to remove remaining browser-only code

* Updated ChannelHeader and MessageWrapper to match the changes to TextFormatting

* Increased max listeners for Preference and Emoji stores

* PLT-3832 Added automated unit tests for autolinking

* PLT-3567 Rerender posts when mention keywords change

* Updated RHS and search to match the changes to TextFormatting

* Broke TextFormatting's dependency on the UserStore
Этот коммит содержится в:
Harrison Healey
2016-08-29 09:50:00 -04:00
коммит произвёл Christopher Speller
родитель 55342e8fe1
Коммит 167dd22eef
20 изменённых файлов: 765 добавлений и 142 удалений

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

@@ -1344,3 +1344,27 @@ export function isValidPassword(password) {
export function getSiteURL() {
return global.mm_config.SiteURL || window.location.origin;
}
export function handleFormattedTextClick(e) {
const mentionAttribute = e.target.getAttributeNode('data-mention');
const hashtagAttribute = e.target.getAttributeNode('data-hashtag');
const linkAttribute = e.target.getAttributeNode('data-link');
if (mentionAttribute) {
e.preventDefault();
searchForTerm(mentionAttribute.value);
} else if (hashtagAttribute) {
e.preventDefault();
searchForTerm(hashtagAttribute.value);
} else if (linkAttribute) {
const MIDDLE_MOUSE_BUTTON = 1;
if (!(e.button === MIDDLE_MOUSE_BUTTON || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey)) {
e.preventDefault();
browserHistory.push(linkAttribute.value);
}
}
}