Skip to content

Commit fa2590f

Browse files
debounce multiple switch
1 parent 2fde8b7 commit fa2590f

File tree

1 file changed

+7
-7
lines changed
  • src/shared/components/Settings/Preferences/Email

1 file changed

+7
-7
lines changed

src/shared/components/Settings/Preferences/Email/index.jsx

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,13 @@ const programs = [
7272

7373
export default class EmailPreferences extends React.Component {
7474
saveEmailPreferences = debounce((id, checked) => {
75+
// update local state
76+
const { emailPreferences, status } = this.state;
77+
emailPreferences[id] = checked;
78+
this.setState({
79+
emailPreferences,
80+
status: checked ? 'subscribed' : status,
81+
});
7582
const { email, saveEmailPreferences } = this.props;
7683
saveEmailPreferences(email, id, checked);
7784
}, SAVE_DELAY);
@@ -108,13 +115,6 @@ export default class EmailPreferences extends React.Component {
108115

109116
onChange(id, checked) {
110117
// document.querySelectorAll(`#pre-onoffswitch-${id}`).forEach((el) => { el.checked = checked; }); // eslint-disable-line no-param-reassign
111-
// update local state
112-
const { emailPreferences, status } = this.state;
113-
emailPreferences[id] = checked;
114-
this.setState({
115-
emailPreferences,
116-
status: checked ? 'subscribed' : status,
117-
});
118118
// update remote state
119119
this.saveEmailPreferences(id, checked);
120120
}

0 commit comments

Comments
 (0)