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