From 85e67be0aa94d82ef29c2a68009b3897e4bcd63b Mon Sep 17 00:00:00 2001 From: raghunayyar Date: Thu, 3 Oct 2013 00:39:03 +0530 Subject: [PATCH 1/3] Rename action now appears as pencil icon --- apps/files/css/files.css | 1 + apps/files/js/fileactions.js | 21 ++++++++++++++++----- apps/files/js/filelist.js | 1 + 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/apps/files/css/files.css b/apps/files/css/files.css index ca3b850066..38f01bfab3 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -258,6 +258,7 @@ table td.filename form { font-size:14px; margin-left:48px; margin-right:48px; } position: absolute; top: 14px; right: 0; + font-size: 11px; } #fileList img.move2trash { display:inline; margin:-8px 0; padding:16px 8px 16px 8px !important; float:right; } diff --git a/apps/files/js/fileactions.js b/apps/files/js/fileactions.js index d0ef2491bd..f36457f01a 100644 --- a/apps/files/js/fileactions.js +++ b/apps/files/js/fileactions.js @@ -71,13 +71,15 @@ var FileActions = { FileActions.currentFile = parent; var actions = FileActions.get(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions()); var file = FileActions.getCurrentFile(); + var nameLinks; if (FileList.findFileEl(file).data('renaming')) { return; } // recreate fileactions - parent.children('a.name').find('.fileactions').remove(); - parent.children('a.name').append(''); + nameLinks = parent.children('a.name'); + nameLinks.find('.fileactions, .nametext .action').remove(); + nameLinks.append(''); var defaultAction = FileActions.getDefault(FileActions.getCurrentMimeType(), FileActions.getCurrentType(), FileActions.getCurrentPermissions()); var actionHandler = function (event) { @@ -97,7 +99,16 @@ var FileActions = { } if ((name === 'Download' || action !== defaultAction) && name !== 'Delete') { - var img = FileActions.icons[name]; + var img = FileActions.icons[name], + actionText = t('files', name), + actionContainer = 'a.name>span.fileactions'; + + if (name === 'Rename') { + // rename has only an icon which appears behind + // the file name + actionText = ''; + actionContainer = 'a.name span.nametext'; + } if (img.call) { img = img(file); } @@ -105,13 +116,13 @@ var FileActions = { if (img) { html += ''; } - html += ' ' + t('files', name) + ''; + html += ' ' + actionText + ''; var element = $(html); element.data('action', name); //alert(element); element.on('click', {a: null, elem: parent, actionFunc: actions[name]}, actionHandler); - parent.find('a.name>span.fileactions').append(element); + parent.find(actionContainer).append(element); } }; diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js index 63fd0f4ce0..23b31e7246 100644 --- a/apps/files/js/filelist.js +++ b/apps/files/js/filelist.js @@ -477,6 +477,7 @@ var FileList={ td.find('a.name span.extension').text(newname.substr(newname.lastIndexOf('.'))); } form.remove(); + FileActions.display( tr.find('td.filename'), true); td.children('a.name').show(); } catch (error) { input.attr('title', error); From bc598f19194e84dab815841dfe4544de1cf6f908 Mon Sep 17 00:00:00 2001 From: Vincent Petry Date: Wed, 29 Jan 2014 13:08:04 +0100 Subject: [PATCH 2/3] Updated unit tests for rename action - rename action is now checked inside of ".nametext" element - added test to ensure that display() correctly resets all actions including the rename one --- apps/files/tests/js/fileactionsSpec.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/apps/files/tests/js/fileactionsSpec.js b/apps/files/tests/js/fileactionsSpec.js index 23f7b58dcd..e185cf2f65 100644 --- a/apps/files/tests/js/fileactionsSpec.js +++ b/apps/files/tests/js/fileactionsSpec.js @@ -43,7 +43,18 @@ describe('FileActions tests', function() { // actions defined after cal expect($tr.find('.action[data-action=Download]').length).toEqual(1); - expect($tr.find('.action[data-action=Rename]').length).toEqual(1); + expect($tr.find('.nametext .action[data-action=Rename]').length).toEqual(1); + expect($tr.find('.action.delete').length).toEqual(1); + }); + it('calling display() twice correctly replaces file actions', function() { + var $tr = FileList.addFile('testName.txt', 1234, new Date(), false, false, {download_url: 'test/download/url'}); + + FileActions.display($tr.find('td.filename'), true); + FileActions.display($tr.find('td.filename'), true); + + // actions defined after cal + expect($tr.find('.action[data-action=Download]').length).toEqual(1); + expect($tr.find('.nametext .action[data-action=Rename]').length).toEqual(1); expect($tr.find('.action.delete').length).toEqual(1); }); it('redirects to download URL when clicking download', function() { From 5ccb395ec64f0e15f847c36f3f80288169c55a12 Mon Sep 17 00:00:00 2001 From: raghunayyar Date: Fri, 31 Jan 2014 12:33:00 +0530 Subject: [PATCH 3/3] Makes Rename Icon Width 44px for touch sourfaces. --- apps/files/css/files.css | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/apps/files/css/files.css b/apps/files/css/files.css index 38f01bfab3..1d254ad04e 100644 --- a/apps/files/css/files.css +++ b/apps/files/css/files.css @@ -267,6 +267,7 @@ table td.filename form { font-size:14px; margin-left:48px; margin-right:48px; } right: 0; padding: 28px 14px 19px !important; } + a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; } /* Actions for selected files */ @@ -296,6 +297,10 @@ a.action>img { max-height:16px; max-width:16px; vertical-align:text-bottom; } opacity: 0; display:none; } + +#fileList a.action[data-action="Rename"] { + padding:18px 14px !important; +} #fileList tr:hover a.action, #fileList a.action.permanent { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; filter: alpha(opacity=50);