summaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2015-01-15 18:16:27 +0100
committerVincent Petry <pvince81@owncloud.com>2015-01-15 18:16:27 +0100
commit7f24e77cfcfa90f70505c8556ce059e3befd5be1 (patch)
treebc694c71ac10a18f26a829ef91c33cd5784efdfe /apps/files
parentd40301492dc47f8776bd20792a2523637c02e838 (diff)
downloadnextcloud-server-7f24e77cfcfa90f70505c8556ce059e3befd5be1.tar.gz
nextcloud-server-7f24e77cfcfa90f70505c8556ce059e3befd5be1.zip
Disallow ctrl click to select when selection not allowed
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/js/filelist.js2
-rw-r--r--apps/files/tests/js/filelistSpec.js30
2 files changed, 31 insertions, 1 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index f28c24fda87..c5c665cee77 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -323,7 +323,7 @@
*/
_onClickFile: function(event) {
var $tr = $(event.target).closest('tr');
- if (event.ctrlKey || event.shiftKey) {
+ if (this._allowSelection && (event.ctrlKey || event.shiftKey)) {
event.preventDefault();
if (event.shiftKey) {
var $lastTr = $(this._lastChecked);
diff --git a/apps/files/tests/js/filelistSpec.js b/apps/files/tests/js/filelistSpec.js
index c1c8e4ce337..59e3f8a9d4e 100644
--- a/apps/files/tests/js/filelistSpec.js
+++ b/apps/files/tests/js/filelistSpec.js
@@ -1790,6 +1790,36 @@ describe('OCA.Files.FileList tests', function() {
expect(fileList.$el.find('.select-all').prop('checked')).toEqual(false);
expect(fileList.getSelectedFiles()).toEqual([]);
});
+ describe('Disabled selection', function() {
+ beforeEach(function() {
+ fileList._allowSelection = false;
+ fileList.setFiles(testFiles);
+ });
+ it('Does not render checkboxes', function() {
+ expect(fileList.$fileList.find('.selectCheckBox').length).toEqual(0);
+ });
+ it('Does not select a file with Ctrl or Shift if selection is not allowed', function() {
+ var $tr = fileList.findFileEl('One.txt');
+ var $tr2 = fileList.findFileEl('Three.pdf');
+ var e;
+ e = new $.Event('click');
+ e.ctrlKey = true;
+ $tr.find('td.filename .name').trigger(e);
+
+ // click on second entry, does not clear the selection
+ e = new $.Event('click');
+ e.ctrlKey = true;
+ $tr2.find('td.filename .name').trigger(e);
+
+ expect(fileList.getSelectedFiles().length).toEqual(0);
+
+ // deselect now
+ e = new $.Event('click');
+ e.shiftKey = true;
+ $tr2.find('td.filename .name').trigger(e);
+ expect(fileList.getSelectedFiles().length).toEqual(0);
+ });
+ })
});
describe('File actions', function() {
it('Clicking on a file name will trigger default action', function() {