Merge pull request #15180 from owncloud/ext-tabbing

Use individual timers for separate config rows
remotes/origin/etag-endpoint
Morris Jobke 10 years ago
commit d83741396a
  1. 49
      apps/files_external/js/settings.js

@ -488,35 +488,12 @@ MountConfigListView.prototype = {
_initEvents: function() {
var self = this;
this.$el.on('paste', 'td input', function() {
var $me = $(this);
var $tr = $me.closest('tr');
setTimeout(function() {
highlightInput($me);
self.saveStorageConfig($tr);
}, 20);
});
var timer;
this.$el.on('keyup', 'td input', function() {
clearTimeout(timer);
var $tr = $(this).closest('tr');
highlightInput($(this));
if ($(this).val) {
timer = setTimeout(function() {
self.saveStorageConfig($tr);
}, 2000);
}
});
this.$el.on('change', 'td input:checkbox', function() {
self.saveStorageConfig($(this).closest('tr'));
});
this.$el.on('change', '.applicable', function() {
self.saveStorageConfig($(this).closest('tr'));
});
var onChangeHandler = _.bind(this._onChange, this);
//this.$el.on('input', 'td input', onChangeHandler);
this.$el.on('keyup', 'td input', onChangeHandler);
this.$el.on('paste', 'td input', onChangeHandler);
this.$el.on('change', 'td input:checkbox', onChangeHandler);
this.$el.on('change', '.applicable', onChangeHandler);
this.$el.on('click', '.status>span', function() {
self.recheckStorageConfig($(this).closest('tr'));
@ -529,6 +506,20 @@ MountConfigListView.prototype = {
this.$el.on('change', '.selectBackend', _.bind(this._onSelectBackend, this));
},
_onChange: function(event) {
var self = this;
var $target = $(event.target);
highlightInput($target);
var $tr = $target.closest('tr');
var timer = $tr.data('save-timer');
clearTimeout(timer);
timer = setTimeout(function() {
self.saveStorageConfig($tr);
}, 2000);
$tr.data('save-timer', timer);
},
_onSelectBackend: function(event) {
var $target = $(event.target);
var $el = this.$el;

Loading…
Cancel
Save