Changed SuggestionProviders to be regular objects and not singletons
Этот коммит содержится в:
@@ -28,6 +28,8 @@ export default class SearchBar extends React.Component {
|
|||||||
const state = this.getSearchTermStateFromStores();
|
const state = this.getSearchTermStateFromStores();
|
||||||
state.focused = false;
|
state.focused = false;
|
||||||
this.state = state;
|
this.state = state;
|
||||||
|
|
||||||
|
this.suggestionProviders = [new SearchChannelProvider(), new SearchUserProvider()];
|
||||||
}
|
}
|
||||||
getSearchTermStateFromStores() {
|
getSearchTermStateFromStores() {
|
||||||
var term = SearchStore.getSearchTerm() || '';
|
var term = SearchStore.getSearchTerm() || '';
|
||||||
@@ -162,7 +164,7 @@ export default class SearchBar extends React.Component {
|
|||||||
onFocus={this.handleUserFocus}
|
onFocus={this.handleUserFocus}
|
||||||
onBlur={this.handleUserBlur}
|
onBlur={this.handleUserBlur}
|
||||||
onUserInput={this.handleUserInput}
|
onUserInput={this.handleUserInput}
|
||||||
providers={[SearchChannelProvider, SearchUserProvider]}
|
providers={this.suggestionProviders}
|
||||||
/>
|
/>
|
||||||
{isSearching}
|
{isSearching}
|
||||||
<Popover
|
<Popover
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ SearchChannelSuggestion.propTypes = {
|
|||||||
onClick: React.PropTypes.func
|
onClick: React.PropTypes.func
|
||||||
};
|
};
|
||||||
|
|
||||||
class SearchChannelProvider {
|
export default class SearchChannelProvider {
|
||||||
handlePretextChanged(suggestionId, pretext) {
|
handlePretextChanged(suggestionId, pretext) {
|
||||||
const captured = (/\b(?:in|channel):\s*(\S*)$/i).exec(pretext);
|
const captured = (/\b(?:in|channel):\s*(\S*)$/i).exec(pretext);
|
||||||
if (captured) {
|
if (captured) {
|
||||||
@@ -67,5 +67,3 @@ class SearchChannelProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default new SearchChannelProvider();
|
|
||||||
@@ -34,7 +34,7 @@ SearchUserSuggestion.propTypes = {
|
|||||||
onClick: React.PropTypes.func
|
onClick: React.PropTypes.func
|
||||||
};
|
};
|
||||||
|
|
||||||
class SearchUserProvider {
|
export default class SearchUserProvider {
|
||||||
handlePretextChanged(suggestionId, pretext) {
|
handlePretextChanged(suggestionId, pretext) {
|
||||||
const captured = (/\bfrom:\s*(\S*)$/i).exec(pretext);
|
const captured = (/\bfrom:\s*(\S*)$/i).exec(pretext);
|
||||||
if (captured) {
|
if (captured) {
|
||||||
@@ -60,5 +60,3 @@ class SearchUserProvider {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export default new SearchUserProvider();
|
|
||||||
Ссылка в новой задаче
Block a user