From: Vincent Petry Date: Tue, 29 Apr 2014 14:28:43 +0000 (+0200) Subject: Fixed too generic checkbox and link selectors X-Git-Tag: v7.0.0alpha2~327^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=2f58e798ec4becdea37b5508574ee8c0440edb46;p=nextcloud-server.git 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. --- diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 40ec898635e..5f79d96d8c5 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();