diff --git a/utils/config.go b/utils/config.go index a3969fc40f..86fe7c0626 100644 --- a/utils/config.go +++ b/utils/config.go @@ -217,6 +217,7 @@ func getClientConfig(c *model.Config) map[string]string { props["EnableOnlyAdminIntegrations"] = strconv.FormatBool(*c.ServiceSettings.EnableOnlyAdminIntegrations) props["EnablePostUsernameOverride"] = strconv.FormatBool(c.ServiceSettings.EnablePostUsernameOverride) props["EnablePostIconOverride"] = strconv.FormatBool(c.ServiceSettings.EnablePostIconOverride) + props["EnableTesting"] = strconv.FormatBool(c.ServiceSettings.EnableTesting) props["EnableDeveloper"] = strconv.FormatBool(*c.ServiceSettings.EnableDeveloper) props["SendEmailNotifications"] = strconv.FormatBool(c.EmailSettings.SendEmailNotifications) diff --git a/webapp/components/user_settings/user_settings_advanced.jsx b/webapp/components/user_settings/user_settings_advanced.jsx index 558eb608e5..f1a72aa0fa 100644 --- a/webapp/components/user_settings/user_settings_advanced.jsx +++ b/webapp/components/user_settings/user_settings_advanced.jsx @@ -25,6 +25,8 @@ export default class AdvancedSettingsDisplay extends React.Component { this.toggleFeature = this.toggleFeature.bind(this); this.saveEnabledFeatures = this.saveEnabledFeatures.bind(this); + this.renderFormattingSection = this.renderFormattingSection.bind(this); + const preReleaseFeaturesKeys = Object.keys(PreReleaseFeatures); const advancedSettings = PreferenceStore.getCategory(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS); const settings = { @@ -137,6 +139,85 @@ export default class AdvancedSettingsDisplay extends React.Component { ); } + renderFormattingSection() { + if (window.mm_config.EnableTesting === 'false') { + return null; + } + + if (this.props.activeSection === 'formatting') { + return ( + + } + inputs={ +
+
+ +
+
+
+ +
+
+
+
+ +
+
+ } + submit={() => this.handleSubmit('formatting')} + server_error={this.state.serverError} + updateSection={(e) => { + this.updateSection(''); + e.preventDefault(); + }} + /> + ); + } + + return ( + + } + describe={this.renderOnOffLabel(this.state.settings.formatting)} + updateSection={() => this.props.updateSection('formatting')} + /> + ); + } + renderFeatureLabel(feature) { switch (feature) { case 'MARKDOWN_PREVIEW': @@ -248,78 +329,10 @@ export default class AdvancedSettingsDisplay extends React.Component { ); } - let formattingSection; - if (this.props.activeSection === 'formatting') { - formattingSection = ( - - } - inputs={ -
-
- -
-
-
- -
-
-
-
- -
-
- } - submit={() => this.handleSubmit('formatting')} - server_error={serverError} - updateSection={(e) => { - this.updateSection(''); - e.preventDefault(); - }} - /> - ); - } else { - formattingSection = ( - - } - describe={this.renderOnOffLabel(this.state.settings.formatting)} - updateSection={() => this.props.updateSection('formatting')} - /> - ); + const formattingSection = this.renderFormattingSection(); + let formattingSectionDivider = null; + if (formattingSection) { + formattingSectionDivider =
; } let previewFeaturesSection; @@ -432,7 +445,7 @@ export default class AdvancedSettingsDisplay extends React.Component {
{ctrlSendSection} -
+ {formattingSectionDivider} {formattingSection} {previewFeaturesSectionDivider} {previewFeaturesSection}