diff options
author | NastuzziSamy <samy@nastuzzi.fr> | 2018-05-06 23:26:46 +0300 |
---|---|---|
committer | NastuzziSamy <samy@nastuzzi.fr> | 2018-05-06 23:26:46 +0300 |
commit | e28855b772c3f2f8a469f55196a968f12323bba4 (patch) | |
tree | 0fde1e027148b0461cd504170ea6ca44a4a0e63b /js | |
parent | bb8a0494edf2d1bf366710f62f6b4a21a4d1263e (diff) |
Bugs fixedv0.8.4
Bad delimiter selection
Submenus went out of the screen
Submenus was not deleted (at the end, unnecessary use of memory)
Diffstat (limited to 'js')
-rw-r--r-- | js/files.js | 6 | ||||
-rw-r--r-- | js/script.js | 25 |
2 files changed, 23 insertions, 8 deletions
diff --git a/js/files.js b/js/files.js index 96ce5f0..185489a 100644 --- a/js/files.js +++ b/js/files.js @@ -8,14 +8,14 @@ var RightClick = RightClick || {}; return false; } + var appName = 'files_rightclick'; var availableApplications = []; $.get(OC.generateUrl('/apps/files_rightclick/ajax/applications'), function (data) { availableApplications = data; }); - new RightClick.Menu($('tbody[id*=fileList]'), function (event, currentFile, delimiter) { - var appName = 'files_rightclick'; + new RightClick.Menu($('tbody[id=fileList]'), function (event, currentFile, delimiter) { var options = new RightClick.Options(); var openSubOptions = new RightClick.Options(); @@ -142,7 +142,7 @@ var RightClick = RightClick || {}; } if (text !== '') { - addNewOpenSubOption('WebDAV', 'public', t(appName, 'Get WebDAV link'), window.location.origin + OC.generateUrl('/remote.php/webdav' + currentFile.attr('data-path') + currentFile.attr('data-file')), false); + addNewOpenSubOption('WebDAV', 'public', t(appName, 'Get WebDAV link'), window.location.origin + OC.generateUrl('/remote.php/webdav') + currentFile.attr('data-path') + (currentFile.attr('data-path') === '/' ? '' : '/') + currentFile.attr('data-file'), false); addNewOption('Open', icon, text, onClick, true, openSubOptions); } diff --git a/js/script.js b/js/script.js index d28bb3e..14d256f 100644 --- a/js/script.js +++ b/js/script.js @@ -232,10 +232,20 @@ var RightClick = RightClick || {}; div.appendTo(context); if (menu.isSubMenu) { + var top = context.position().top + Math.abs(div.css("marginTop").replace('px', '')); + var left = context.parents('.rightClick').first().innerWidth() - (Math.abs(div.css("marginLeft").replace('px', '')) / 2); + var right = 'auto'; + var positionAndWidth = div.offset().left + context.parents('.rightClick').first().outerWidth() + div.outerWidth() + (Math.abs(div.css("marginLeft").replace('px', '')) * 4); + + if (positionAndWidth > $(window).width()) { + right = left; + left = 'auto'; + } + div.css({ - 'left': context.parents('.rightClick').first().innerWidth() - (Math.abs(div.css("marginLeft").replace('px', '')) / 2), - 'right': 'auto', - 'top': context.position().top + Math.abs(div.css("marginTop").replace('px', '')) + 'left': left, + 'right': right, + 'top': top }); } else { @@ -349,6 +359,9 @@ var RightClick = RightClick || {}; if (exports.menus.hasOwnProperty(i)) { if (exports.menus[i].close() === false) return false; + + if (exports.menus[i].isSubMenu) + exports.menus.splice(i, 1); } } @@ -358,8 +371,10 @@ var RightClick = RightClick || {}; exports.closeAllSubMenus = function () { for (var i in exports.menus) { if (exports.menus.hasOwnProperty(i)) { - if (exports.menus[i].isSubMenu && exports.menus[i].close() === false) - return false; + if (exports.menus[i].isSubMenu) { + if (exports.menus[i].close() === false) + return false; + } } } |