only show advanced settings section if there are any pre-release features
Этот коммит содержится в:
@@ -32,7 +32,7 @@ export default class AdvancedSettingsDisplay extends React.Component {
|
||||
|
||||
let enabledFeatures = 0;
|
||||
PreferenceStore.getPreferences(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS).forEach((setting) => {
|
||||
if (setting.name.lastIndexOf('feature_enabled_') === 0) {
|
||||
if (setting.name.lastIndexOf(Constants.FeatureTogglePrefix) === 0) {
|
||||
settings[setting.name] = setting.value;
|
||||
if (setting.value === 'true') {
|
||||
enabledFeatures++;
|
||||
@@ -55,11 +55,11 @@ export default class AdvancedSettingsDisplay extends React.Component {
|
||||
|
||||
toggleFeature(feature, checked) {
|
||||
const settings = this.state.settings;
|
||||
settings['feature_enabled_' + feature] = String(checked);
|
||||
settings[Constants.FeatureTogglePrefix + feature] = String(checked);
|
||||
|
||||
let enabledFeatures = 0;
|
||||
Object.keys(this.state.settings).forEach((setting) => {
|
||||
if (setting.lastIndexOf('feature_enabled_') === 0 && this.state.settings[setting] === 'true') {
|
||||
if (setting.lastIndexOf(Constants.FeatureTogglePrefix) === 0 && this.state.settings[setting] === 'true') {
|
||||
enabledFeatures++;
|
||||
}
|
||||
});
|
||||
@@ -70,7 +70,7 @@ export default class AdvancedSettingsDisplay extends React.Component {
|
||||
saveEnabledFeatures() {
|
||||
const features = [];
|
||||
Object.keys(this.state.settings).forEach((setting) => {
|
||||
if (setting.lastIndexOf('feature_enabled_') === 0) {
|
||||
if (setting.lastIndexOf(Constants.FeatureTogglePrefix) === 0) {
|
||||
features.push(setting);
|
||||
}
|
||||
});
|
||||
@@ -167,6 +167,12 @@ export default class AdvancedSettingsDisplay extends React.Component {
|
||||
}
|
||||
|
||||
let previewFeaturesSection;
|
||||
let previewFeaturesSectionDivider;
|
||||
if (this.state.preReleaseFeatures.length > 0) {
|
||||
previewFeaturesSectionDivider = (
|
||||
<div className='divider-light'/>
|
||||
);
|
||||
|
||||
if (this.props.activeSection === 'advancedPreviewFeatures') {
|
||||
const inputs = [];
|
||||
|
||||
@@ -177,7 +183,7 @@ export default class AdvancedSettingsDisplay extends React.Component {
|
||||
<label>
|
||||
<input
|
||||
type='checkbox'
|
||||
checked={this.state.settings['feature_enabled_' + feature.label] === 'true'}
|
||||
checked={this.state.settings[Constants.FeatureTogglePrefix + feature.label] === 'true'}
|
||||
onChange={(e) => {
|
||||
this.toggleFeature(feature.label, e.target.checked);
|
||||
}}
|
||||
@@ -217,6 +223,7 @@ export default class AdvancedSettingsDisplay extends React.Component {
|
||||
/>
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
@@ -245,7 +252,7 @@ export default class AdvancedSettingsDisplay extends React.Component {
|
||||
<h3 className='tab-header'>{'Advanced Settings'}</h3>
|
||||
<div className='divider-dark first'/>
|
||||
{ctrlSendSection}
|
||||
<div className='divider-light'/>
|
||||
{previewFeaturesSectionDivider}
|
||||
{previewFeaturesSection}
|
||||
<div className='divider-dark'/>
|
||||
</div>
|
||||
|
||||
@@ -398,5 +398,6 @@ export default {
|
||||
},
|
||||
NotificationPrefs: {
|
||||
MENTION: 'mention'
|
||||
}
|
||||
},
|
||||
FeatureTogglePrefix: 'feature_enabled_'
|
||||
};
|
||||
|
||||
@@ -1223,5 +1223,5 @@ export function getPostTerm(post) {
|
||||
}
|
||||
|
||||
export function featureToggle(feature) {
|
||||
return PreferenceStore.getPreference(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, 'feature_enabled_' + feature, {value: 'false'}).value === 'true';
|
||||
return PreferenceStore.getPreference(Constants.Preferences.CATEGORY_ADVANCED_SETTINGS, Constants.FeatureTogglePrefix + feature, {value: 'false'}).value === 'true';
|
||||
}
|
||||
|
||||
Ссылка в новой задаче
Block a user