From 5f718208efff6ddc913f26bd9280faf5c590866a Mon Sep 17 00:00:00 2001 From: Miguel de la Cruz Date: Fri, 15 Mar 2019 17:54:08 +0000 Subject: [PATCH] Adds a flag to autocomplete users and channels using elasticsearch in the config (#2403) * Adds a flag to autocomplete users and channels using elasticsearch in the config * Wording changes --- .../admin_console/elasticsearch_settings.jsx | 24 ++++++++++++++++++- i18n/en.json | 2 ++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/components/admin_console/elasticsearch_settings.jsx b/components/admin_console/elasticsearch_settings.jsx index 07f220173767..b846db5fa4ca 100644 --- a/components/admin_console/elasticsearch_settings.jsx +++ b/components/admin_console/elasticsearch_settings.jsx @@ -36,6 +36,7 @@ export default class ElasticsearchSettings extends AdminSettings { config.ElasticsearchSettings.Sniff = this.state.sniff; config.ElasticsearchSettings.EnableIndexing = this.state.enableIndexing; config.ElasticsearchSettings.EnableSearching = this.state.enableSearching; + config.ElasticsearchSettings.EnableAutocomplete = this.state.enableAutocomplete; return config; } @@ -48,6 +49,7 @@ export default class ElasticsearchSettings extends AdminSettings { sniff: config.ElasticsearchSettings.Sniff, enableIndexing: config.ElasticsearchSettings.EnableIndexing, enableSearching: config.ElasticsearchSettings.EnableSearching, + enableAutocomplete: config.ElasticsearchSettings.EnableAutocomplete, configTested: true, canSave: true, canPurgeAndIndex: config.ElasticsearchSettings.EnableIndexing, @@ -59,6 +61,7 @@ export default class ElasticsearchSettings extends AdminSettings { if (value === false) { this.setState({ enableSearching: false, + enableAutocomplete: false, }); } else { this.setState({ @@ -75,7 +78,7 @@ export default class ElasticsearchSettings extends AdminSettings { }); } - if (id !== 'enableSearching') { + if (id !== 'enableSearching' && id !== 'enableAutocomplete') { this.setState({ canPurgeAndIndex: false, }); @@ -369,6 +372,25 @@ export default class ElasticsearchSettings extends AdminSettings { onChange={this.handleSettingChanged} setByEnv={this.isSetByEnv('ElasticsearchSettings.EnableSearching')} /> + + } + helpText={ + + } + value={this.state.enableAutocomplete} + disabled={!this.state.enableIndexing || !this.state.configTested} + onChange={this.handleSettingChanged} + setByEnv={this.isSetByEnv('ElasticsearchSettings.EnableAutocomplete')} + /> ); } diff --git a/i18n/en.json b/i18n/en.json index d164f65fd9a8..2c5202a37aeb 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -361,6 +361,8 @@ "admin.elasticsearch.enableIndexingTitle": "Enable Elasticsearch Indexing:", "admin.elasticsearch.enableSearchingDescription": "Requires a successful connection to the Elasticsearch server. When true, Elasticsearch will be used for all search queries using the latest index. Search results may be incomplete until a bulk index of the existing post database is finished. When false, database search is used.", "admin.elasticsearch.enableSearchingTitle": "Enable Elasticsearch for search queries:", + "admin.elasticsearch.enableAutocompleteDescription": "Requires a successful connection to the Elasticsearch server. When true, Elasticsearch will be used for all autocompletion queries on users and channels using the latest index. Autocompletion results may be incomplete until a bulk index of the existing users and channels database is finished. When false, database autocomplete is used.", + "admin.elasticsearch.enableAutocompleteTitle": "Enable Elasticsearch for autocomplete queries:", "admin.elasticsearch.password": "E.g.: \"yourpassword\"", "admin.elasticsearch.passwordDescription": "(Optional) The password to authenticate to the Elasticsearch server.", "admin.elasticsearch.passwordTitle": "Server Password:",