From 2f58e798ec4becdea37b5508574ee8c0440edb46 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Tue, 29 Apr 2014 16:28:43 +0200 Subject: [PATCH] Fixed too generic checkbox and link selectors It turns out that the sharing dropdown is embedded into the table row for some reason. This fix makes use of a more specific selector for the checkboxes and file name links to make sure it doesn't spill into any other potential elements like the sharing dialog. --- apps/files/js/filelist.js | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 40ec898635..5f79d96d8c 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -92,8 +92,8 @@ window.FileList = { FileList.breadcrumb.resize(width, false); }); - this.$fileList.on('click','td.filename a', _.bind(this._onClickFile, this)); - this.$fileList.on('change', 'td.filename input:checkbox', _.bind(this._onClickFileCheckbox, this)); + this.$fileList.on('click','td.filename>a.name', _.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)); @@ -107,7 +107,7 @@ window.FileList = { * @param state true to select, false to deselect */ _selectFileEl: function($tr, state) { - var $checkbox = $tr.find('input:checkbox'); + var $checkbox = $tr.find('td.filename>input:checkbox'); var oldData = !!this._selectedFiles[$tr.data('id')]; var data; $checkbox.prop('checked', state); @@ -156,7 +156,7 @@ window.FileList = { else { this._lastChecked = $tr; } - var $checkbox = $tr.find('input:checkbox'); + var $checkbox = $tr.find('td.filename>input:checkbox'); this._selectFileEl($tr, !$checkbox.prop('checked')); this.updateSelectionSummary(); } else { @@ -191,7 +191,7 @@ window.FileList = { */ _onClickSelectAll: function(e) { var checked = $(e.target).prop('checked'); - this.$fileList.find('td.filename input:checkbox').prop('checked', checked) + this.$fileList.find('td.filename>input:checkbox').prop('checked', checked) .closest('tr').toggleClass('selected', checked); this._selectedFiles = {}; this._selectionSummary.clear();