summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2014-04-08 17:09:57 +0200
committerVincent Petry <pvince81@owncloud.com>2014-04-28 14:55:01 +0200
commitc29e8b0bae8998ba55efd5f34f4c8d1e7034ffdc (patch)
treea85bd865b0560c0ba9d365c0af6f24eab8659af4 /apps
parent3c006a5a4d00f8852de6a586fb987baa50a067ea (diff)
downloadnextcloud-server-c29e8b0bae8998ba55efd5f34f4c8d1e7034ffdc.tar.gz
nextcloud-server-c29e8b0bae8998ba55efd5f34f4c8d1e7034ffdc.zip
Cleanup of event handlers
Now using _.bind() for event handlers so we can use "this" which is more readable than a static access to FileList.
Diffstat (limited to 'apps')
-rw-r--r--apps/files/js/filelist.js64
1 files changed, 32 insertions, 32 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index cf359af4aa2..723a22f24e8 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -92,11 +92,11 @@ window.FileList = {
FileList.breadcrumb.resize(width, false);
});
- this.$fileList.on('click','td.filename a', this._onClickFile);
- this.$fileList.on('change', 'td.filename input:checkbox', this._onClickFileCheckbox);
- this.$el.find('#select_all').click(this._onClickSelectAll);
- this.$el.find('.download').click(this._onClickDownloadSelected);
- this.$el.find('.delete-selected').click(this._onClickDeleteSelected);
+ this.$fileList.on('click','td.filename a', _.bind(this._onClickFile, this));
+ this.$fileList.on('change', 'td.filename input:checkbox', _.bind(this._onClickFileCheckbox, this));
+ this.$el.find('#select_all').click(_.bind(this._onClickSelectAll, this));
+ this.$el.find('.download').click(_.bind(this._onClickDownloadSelected, this));
+ this.$el.find('.delete-selected').click(_.bind(this._onClickDeleteSelected, this));
},
/**
@@ -132,14 +132,14 @@ window.FileList = {
* Event handler for when clicking on files to select them
*/
_onClickFile: function(event) {
- var $tr = $(this).closest('tr');
+ var $tr = $(event.target).closest('tr');
if (event.ctrlKey || event.shiftKey) {
event.preventDefault();
if (event.shiftKey) {
- var $lastTr = $(FileList._lastChecked);
+ var $lastTr = $(this._lastChecked);
var lastIndex = $lastTr.index();
var currentIndex = $tr.index();
- var $rows = FileList.$fileList.children('tr');
+ var $rows = this.$fileList.children('tr');
// last clicked checkbox below current one ?
if (lastIndex > currentIndex) {
@@ -150,15 +150,15 @@ window.FileList = {
// auto-select everything in-between
for (var i = lastIndex + 1; i < currentIndex; i++) {
- FileList._selectFileEl($rows.eq(i), true);
+ this._selectFileEl($rows.eq(i), true);
}
}
else {
- FileList._lastChecked = $tr;
+ this._lastChecked = $tr;
}
var $checkbox = $tr.find('input:checkbox');
- FileList._selectFileEl($tr, !$checkbox.prop('checked'));
- FileList.updateSelectionSummary();
+ this._selectFileEl($tr, !$checkbox.prop('checked'));
+ this.updateSelectionSummary();
} else {
var filename = $tr.attr('data-file');
var renaming = $tr.data('renaming');
@@ -179,32 +179,32 @@ window.FileList = {
/**
* Event handler for when clicking on a file's checkbox
*/
- _onClickFileCheckbox: function() {
- var $tr = $(this).closest('tr');
- FileList._selectFileEl($tr, !$tr.hasClass('selected'));
- FileList._lastChecked = $tr;
- FileList.updateSelectionSummary();
+ _onClickFileCheckbox: function(e) {
+ var $tr = $(e.target).closest('tr');
+ this._selectFileEl($tr, !$tr.hasClass('selected'));
+ this._lastChecked = $tr;
+ this.updateSelectionSummary();
},
/**
* Event handler for when selecting/deselecting all files
*/
- _onClickSelectAll: function() {
- var checked = $(this).prop('checked');
- FileList.$fileList.find('td.filename input:checkbox').prop('checked', checked)
+ _onClickSelectAll: function(e) {
+ var checked = $(e.target).prop('checked');
+ this.$fileList.find('td.filename input:checkbox').prop('checked', checked)
.closest('tr').toggleClass('selected', checked);
- FileList._selectedFiles = {};
+ this._selectedFiles = {};
if (checked) {
- for (var i = 0; i < FileList.files.length; i++) {
- var fileData = FileList.files[i];
- FileList._selectedFiles[fileData.id] = fileData;
- FileList._selectionSummary.add(fileData);
+ for (var i = 0; i < this.files.length; i++) {
+ var fileData = this.files[i];
+ this._selectedFiles[fileData.id] = fileData;
+ this._selectionSummary.add(fileData);
}
}
else {
- FileList._selectionSummary.clear();
+ this._selectionSummary.clear();
}
- FileList.updateSelectionSummary();
+ this.updateSelectionSummary();
},
/**
@@ -212,13 +212,13 @@ window.FileList = {
*/
_onClickDownloadSelected: function(event) {
var files;
- var dir = FileList.getCurrentDirectory();
- if (FileList.isAllSelected()) {
+ var dir = this.getCurrentDirectory();
+ if (this.isAllSelected()) {
files = OC.basename(dir);
dir = OC.dirname(dir) || '/';
}
else {
- files = _.pluck(FileList.getSelectedFiles(), 'name');
+ files = _.pluck(this.getSelectedFiles(), 'name');
}
OC.Notification.show(t('files','Your download is being prepared. This might take some time if the files are big.'));
OC.redirect(Files.getDownloadUrl(files, dir));
@@ -231,9 +231,9 @@ window.FileList = {
_onClickDeleteSelected: function(event) {
var files = null;
if (!FileList.isAllSelected()) {
- files = _.pluck(FileList.getSelectedFiles(), 'name');
+ files = _.pluck(this.getSelectedFiles(), 'name');
}
- FileList.do_delete(files);
+ this.do_delete(files);
event.preventDefault();
return false;
},