summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--public/javascripts/context_menu.js11
1 files changed, 6 insertions, 5 deletions
diff --git a/public/javascripts/context_menu.js b/public/javascripts/context_menu.js
index 6fd509ea6..9ea4675df 100644
--- a/public/javascripts/context_menu.js
+++ b/public/javascripts/context_menu.js
@@ -6,8 +6,8 @@ var contextMenuObserving;
function contextMenuRightClick(event) {
var target = $(event.target);
if (target.is('a')) {return;}
- var tr = target.parents('tr').first();
- if (!tr.hasClass('hascontextmenu')) {return;}
+ var tr = target.closest('.hascontextmenu').first();
+ if (tr.length < 1) {return;}
event.preventDefault();
if (!contextMenuIsSelected(tr)) {
contextMenuUnselectAll();
@@ -28,8 +28,8 @@ function contextMenuClick(event) {
contextMenuHide();
if (target.is('a') || target.is('img')) { return; }
if (event.which == 1 || (navigator.appVersion.match(/\bMSIE\b/))) {
- var tr = target.parents('tr').first();
- if (tr.length && tr.hasClass('hascontextmenu')) {
+ var tr = target.closest('.hascontextmenu').first();
+ if (tr.length > 0) {
// a row was clicked, check if the click was on checkbox
if (target.is('input')) {
// a checkbox may be clicked
@@ -104,6 +104,7 @@ function contextMenuShow(event) {
$('#context-menu').html('');
url = $(event.target).parents('form').first().data('cm-url');
+ if (url == null) {alert('no url'); return;}
$.ajax({
url: url,
@@ -224,7 +225,7 @@ function contextMenuInit() {
function toggleIssuesSelection(el) {
var checked = $(this).prop('checked');
var boxes = $(this).parents('table').find('input[name=ids\\[\\]]');
- boxes.prop('checked', checked).parents('tr').toggleClass('context-menu-selection', checked);
+ boxes.prop('checked', checked).parents('.hascontextmenu').toggleClass('context-menu-selection', checked);
}
function window_size() {