From 20f79f1da54441fe22a172009d34734af1bd3807 Mon Sep 17 00:00:00 2001 From: Shin'ya Ueoka Date: Tue, 30 Apr 2019 09:49:45 +0900 Subject: Save settings by onBlur callback --- src/settings/components/form/BlacklistForm.jsx | 13 +++++++++++-- src/settings/components/form/KeymapsForm.jsx | 1 + src/settings/components/form/PropertiesForm.jsx | 1 + src/settings/components/form/SearchForm.jsx | 11 +++++++++-- 4 files changed, 22 insertions(+), 4 deletions(-) (limited to 'src/settings/components/form') diff --git a/src/settings/components/form/BlacklistForm.jsx b/src/settings/components/form/BlacklistForm.jsx index cf7cffe..c470758 100644 --- a/src/settings/components/form/BlacklistForm.jsx +++ b/src/settings/components/form/BlacklistForm.jsx @@ -13,9 +13,13 @@ class BlacklistForm extends React.Component { return
+ onChange={this.bindValue.bind(this)} + onBlur={this.props.onBlur} + /> + onClick={this.bindValue.bind(this)} + onBlur={this.props.onBlur} + />
; }) } @@ -38,17 +42,22 @@ class BlacklistForm extends React.Component { } this.props.onChange(next); + if (name === 'delete') { + this.props.onBlur(); + } } } BlacklistForm.propTypes = { value: PropTypes.arrayOf(PropTypes.string), onChange: PropTypes.func, + onBlur: PropTypes.func, }; BlacklistForm.defaultProps = { value: [], onChange: () => {}, + onBlur: () => {}, }; export default BlacklistForm; diff --git a/src/settings/components/form/KeymapsForm.jsx b/src/settings/components/form/KeymapsForm.jsx index 5bb65cb..01acf61 100644 --- a/src/settings/components/form/KeymapsForm.jsx +++ b/src/settings/components/form/KeymapsForm.jsx @@ -20,6 +20,7 @@ class KeymapsForm extends React.Component { type='text' id={name} name={name} key={name} label={label} value={value} onChange={this.bindValue.bind(this)} + onBlur={this.props.onBlur} />; }) } diff --git a/src/settings/components/form/PropertiesForm.jsx b/src/settings/components/form/PropertiesForm.jsx index 0014899..979fdd8 100644 --- a/src/settings/components/form/PropertiesForm.jsx +++ b/src/settings/components/form/PropertiesForm.jsx @@ -27,6 +27,7 @@ class PropertiesForm extends React.Component { className='column-input' value={value[name] ? value[name] : ''} onChange={this.bindValue.bind(this)} + onBlur={this.props.onBlur} checked={value[name]} /> diff --git a/src/settings/components/form/SearchForm.jsx b/src/settings/components/form/SearchForm.jsx index d2f2d48..6b0bd01 100644 --- a/src/settings/components/form/SearchForm.jsx +++ b/src/settings/components/form/SearchForm.jsx @@ -23,11 +23,15 @@ class SearchForm extends React.Component { return
+ onChange={this.bindValue.bind(this)} + onBlur={this.props.onBlur} + /> + onChange={this.bindValue.bind(this)} + onBlur={this.props.onBlur} + />