Hi, PFA patch to fix the issue where double clicking on folder enables the 'Select' button in List/Table view. RM#2937
-- Regards, Murtuza Zabuawala EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company
diff --git a/web/pgadmin/misc/file_manager/__init__.py b/web/pgadmin/misc/file_manager/__init__.py index 1a8b59b..9070e76 100644 --- a/web/pgadmin/misc/file_manager/__init__.py +++ b/web/pgadmin/misc/file_manager/__init__.py @@ -1102,7 +1102,9 @@ class Filemanager(object): # Remove root storage path from error message # when running in Server mode if not status and not current_app.PGADMIN_RUNTIME: - err_msg = err_msg.replace(get_storage_directory(), '') + storage_directory = get_storage_directory() + if storage_directory: + err_msg = err_msg.replace(storage_directory, '') return status, err_msg, is_binary, is_startswith_bom, enc diff --git a/web/pgadmin/misc/file_manager/static/js/utility.js b/web/pgadmin/misc/file_manager/static/js/utility.js index e543aae..99e632f 100755 --- a/web/pgadmin/misc/file_manager/static/js/utility.js +++ b/web/pgadmin/misc/file_manager/static/js/utility.js @@ -1026,8 +1026,8 @@ var getFolderInfo = function(path, file_type) { var path = $('td:first-child', this).attr('title'); if (path.lastIndexOf('/') == path.length - 1 || path.lastIndexOf('\\') == path.length - 1) { - $('.file_manager_ok').removeClass('disabled'); - $('.file_manager_ok').attr('disabled', false); + $('.file_manager_ok').addClass('disabled'); + $('.file_manager_ok').attr('disabled', true); $('.file_manager button.download').attr('disabled', 'disabled'); $('.file_manager button.delete, .file_manager button.rename').attr('disabled', 'disabled'); getFolderInfo(path); @@ -1133,9 +1133,9 @@ pgAdmin.FileUtils = { var select_box = "<div class='change_file_types'>" + gettext("Show hidden files and folders") + - "? <input type='checkbox' id='show_hidden' onclick='pgAdmin.FileUtils.handleClick(this)'>" + + "? <input type='checkbox' id='show_hidden' onclick='pgAdmin.FileUtils.handleClick(this)' tabindex='11'>" + "<span></span>" + - "<select name='type'>"; + "<select name='type' tabindex='12'>"; while(i < types_len) { t = allowed_types[i]; @@ -1315,7 +1315,6 @@ pgAdmin.FileUtils = { check_obj = function(path, check) { var path = decodeURI(path); - if (path.lastIndexOf('/') == path.length - 1 || path.lastIndexOf('\\') == path.length - 1) { if ( has_capability(self.data_cap, 'select_folder') @@ -1417,12 +1416,12 @@ pgAdmin.FileUtils = { // we remove simple file upload element $('.file-input-container').remove(); $('.upload').remove(); - $( ".create" ).before( '<button value="Upload" type="button" title="Upload File" name="upload" id="upload" class="btn fa fa-upload upload"><span></span></button> ' ); + $( ".create" ).before( '<button value="Upload" type="button" title="Upload File" name="upload" id="upload" class="btn fa fa-upload upload" tabindex="6"><span></span></button> ' ); $('#uploader .upload').unbind().click(function() { // we create prompt var msg = '<div id="dropzone-container">' + - '<button class="fa fa-times dz_cross_btn"></button>' + + '<button class="fa fa-times dz_cross_btn" tabindex="7"></button>' + '<div id="multiple-uploads" class="dropzone"></div>' + '<div class="prompt-info">' + lg.file_size_limit + config.upload.fileSizeLimit + ' ' + lg.mb + '.</div>', diff --git a/web/pgadmin/misc/file_manager/templates/file_manager/index.html b/web/pgadmin/misc/file_manager/templates/file_manager/index.html index 4d24296..064a128 100755 --- a/web/pgadmin/misc/file_manager/templates/file_manager/index.html +++ b/web/pgadmin/misc/file_manager/templates/file_manager/index.html @@ -6,28 +6,33 @@ <div class="file_manager"> <div id="uploader" class='col-xs-12'> <div class="btn-group filemanager-path-group col-sm-7 col-xs-12" role="group"> - <button name="home" type="button" value="Home" title="{{ _('Home') }}" class="fa fa-home btn home"><span></span> + <button name="home" type="button" value="Home" title="{{ _('Home') }}" class="fa fa-home btn home" + tabindex="1"><span></span> </button> <button name="level-up" type="button" title="{{ _('Back') }}" value="LevelUp" class="btn fa fa-level-up level-up" - disabled><span></span></button> - <input class='input-path' title='' type="text"/> + disabled tabindex="2"><span></span></button> + <input id='file-input-path' class='input-path' title='' type="text" tabindex="3" autofocus/> </div> <div class="btn-group filemanager-btn-group" role="group"> <div class="uploadresponse"></div> <input class="mode" name="mode" type="hidden" value="add"/> <input class="currentpath" name="currentpath" type="hidden"/> - <button type="button" title="{{ _('Refresh') }}" class="btn fa fa-refresh refresh"></button> - <button type="button" title="{{ _('Download File') }}" class="btn fa fa-download download" disabled><span></span> + <button type="button" title="{{ _('Refresh') }}" class="btn fa fa-refresh refresh" + tabindex="4"></button> + <button type="button" title="{{ _('Download File') }}" class="btn fa fa-download download" + disabled><span></span> </button> - <button name="delete" type="button" title="{{ _('Delete File/Folder') }}" class="btn fa fa-trash delete" disabled> + <button name="delete" type="button" title="{{ _('Delete File/Folder') }}" class="btn fa fa-trash delete" + disabled> <span></span></button> - <button name="rename" type="button" title="{{ _('Rename File/Folder') }}" class="btn fa fa-pencil-square-o rename"> + <button name="rename" type="button" title="{{ _('Rename File/Folder') }}" class="btn fa fa-pencil-square-o rename" + tabindex="5"> <span></span></button> <button name="newfolder" type="button" title="{{ _('Create new folder') }}" value="New Folder" - class="btn fa fa-folder-open create"><span></span></button> - <button class="ON fa fa-th btn grid" type="button" title="{{ _('View as grid') }}"><span></span></button> - <button type="button" class="btn fa fa-list list" title="{{ _('View as table') }}"><span></span></button> + class="btn fa fa-folder-open create" tabindex="8"><span></span></button> + <button class="ON fa fa-th btn grid" type="button" title="{{ _('View as grid') }}" tabindex="9"><span></span></button> + <button type="button" class="btn fa fa-list list" title="{{ _('View as table') }}" tabindex="10"><span></span></button> </div> </div> <div class="fileinfo"> @@ -41,15 +46,15 @@ <div class='delete_item'> <span>{{ _('Are you sure you want to delete this item?') }}</span> <span class="pull-right"> - <button type='button' class='btn btn_yes'>{{ _('Yes') }}</button> - <button type='button' class='btn btn_no'>{{ _('No') }}</button> + <button type='button' class='btn btn_yes' tabindex="13">{{ _('Yes') }}</button> + <button type='button' class='btn btn_no' tabindex="14">{{ _('No') }}</button> </span> </div> <div class='replace_file'> <span>{{ _('Are you sure you want to replace this file?') }}</span> <span class="pull-right"> - <button type='button' class='btn btn_yes'>{{ _('Yes') }}</button> - <button type='button' class='btn btn_no'>{{ _('No') }}</button> + <button type='button' class='btn btn_yes' tabindex="15">{{ _('Yes') }}</button> + <button type='button' class='btn btn_no' tabindex="16">{{ _('No') }}</button> </span> </div> </div> @@ -57,6 +62,7 @@ require(['sources/generated/file_utils'], function() { pgAdmin.FileUtils.init(); }); + setTimeout(function(){ $('#file-input-path').focus(); }, 1000); </script> </div> </body>