|
|
|
@ -19,18 +19,20 @@ export default class LocalSettingsPageItem extends React.PureComponent {
|
|
|
|
|
message: PropTypes.string.isRequired,
|
|
|
|
|
})),
|
|
|
|
|
settings: ImmutablePropTypes.map.isRequired,
|
|
|
|
|
placeholder: PropTypes.string,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
handleChange = e => {
|
|
|
|
|
const { target } = e;
|
|
|
|
|
const { item, onChange, options } = this.props;
|
|
|
|
|
const { item, onChange, options, placeholder } = this.props;
|
|
|
|
|
if (options && options.length > 0) onChange(item, target.value);
|
|
|
|
|
else if (placeholder) onChange(item, target.value);
|
|
|
|
|
else onChange(item, target.checked);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
render () {
|
|
|
|
|
const { handleChange } = this;
|
|
|
|
|
const { settings, item, id, options, children, dependsOn, dependsOnNot } = this.props;
|
|
|
|
|
const { settings, item, id, options, children, dependsOn, dependsOnNot, placeholder } = this.props;
|
|
|
|
|
let enabled = true;
|
|
|
|
|
|
|
|
|
|
if (dependsOn) {
|
|
|
|
@ -70,6 +72,22 @@ export default class LocalSettingsPageItem extends React.PureComponent {
|
|
|
|
|
</p>
|
|
|
|
|
</label>
|
|
|
|
|
);
|
|
|
|
|
} else if (placeholder) {
|
|
|
|
|
return (
|
|
|
|
|
<label className='glitch local-settings__page__item' htmlFor={id}>
|
|
|
|
|
<p>{children}</p>
|
|
|
|
|
<p>
|
|
|
|
|
<input
|
|
|
|
|
id={id}
|
|
|
|
|
type='text'
|
|
|
|
|
value={settings.getIn(item)}
|
|
|
|
|
placeholder={placeholder}
|
|
|
|
|
onChange={handleChange}
|
|
|
|
|
disabled={!enabled}
|
|
|
|
|
/>
|
|
|
|
|
</p>
|
|
|
|
|
</label>
|
|
|
|
|
);
|
|
|
|
|
} else return (
|
|
|
|
|
<label className='glitch local-settings__page__item' htmlFor={id}>
|
|
|
|
|
<input
|
|
|
|
|