summaryrefslogtreecommitdiff
path: root/app/assets/javascripts/autosave.js
diff options
context:
space:
mode:
Diffstat (limited to 'app/assets/javascripts/autosave.js')
-rw-r--r--app/assets/javascripts/autosave.js11
1 files changed, 10 insertions, 1 deletions
diff --git a/app/assets/javascripts/autosave.js b/app/assets/javascripts/autosave.js
index e8c59fab609..eca84ce16ce 100644
--- a/app/assets/javascripts/autosave.js
+++ b/app/assets/javascripts/autosave.js
@@ -1,5 +1,6 @@
/* eslint-disable no-param-reassign, prefer-template, no-void, consistent-return */
+import _ from 'underscore';
import AccessorUtilities from './lib/utils/accessor';
export default class Autosave {
@@ -13,7 +14,13 @@ export default class Autosave {
this.key = 'autosave/' + key;
this.field.data('autosave', this);
this.restore();
- this.field.on('input', () => this.save());
+ this.field.on('input', this.debounceInputHandler());
+ }
+
+ debounceInputHandler() {
+ return _.debounce(() => {
+ this.save();
+ }, Autosave.DEBOUNCE_TIMER);
}
restore() {
@@ -57,4 +64,6 @@ export default class Autosave {
dispose() {
this.field.off('input');
}
+
+ static DEBOUNCE_TIMER = 300;
}