Force all colorpickers to update after theme pasted in

Этот коммит содержится в:
JoramWilander
2015-12-14 14:56:27 -05:00
родитель f5ec973cba
Коммит 296d36cd35

Просмотреть файл

@@ -19,6 +19,15 @@ export default class CustomThemeChooser extends React.Component {
}); });
$('.color-picker').on('changeColor', this.onPickerChange); $('.color-picker').on('changeColor', this.onPickerChange);
} }
componentDidUpdate() {
const theme = this.props.theme;
Constants.THEME_ELEMENTS.forEach((element) => {
if (theme.hasOwnProperty(element.id) && element.id !== 'codeTheme') {
$('#' + element.id).data('colorpicker').color.setColor(theme[element.id]);
$('#' + element.id).colorpicker('update');
}
});
}
onPickerChange(e) { onPickerChange(e) {
const theme = this.props.theme; const theme = this.props.theme;
theme[e.target.id] = e.color.toHex(); theme[e.target.id] = e.color.toHex();
@@ -85,7 +94,7 @@ export default class CustomThemeChooser extends React.Component {
<select <select
className='form-control' className='form-control'
type='text' type='text'
defaultValue={theme[element.id]} value={theme[element.id]}
onChange={this.onInputChange} onChange={this.onInputChange}
> >
{codeThemeOptions} {codeThemeOptions}
@@ -112,7 +121,7 @@ export default class CustomThemeChooser extends React.Component {
<input <input
className='form-control' className='form-control'
type='text' type='text'
defaultValue={theme[element.id]} value={theme[element.id]}
onChange={this.onInputChange} onChange={this.onInputChange}
/> />
<span className='input-group-addon'><i></i></span> <span className='input-group-addon'><i></i></span>