/* redMine - project management software Copyright (C) 2006-2008 Jean-Philippe Lang */ var observingContextMenuClick; ContextMenu = Class.create(); ContextMenu.prototype = { initialize: function (url) { this.url = url; // prevent text selection in the issue list var tables = $$('table.issues'); for (i=0; i window_width) { render_x -= menu_width; $('context-menu').addClassName('reverse-x'); } else { $('context-menu').removeClassName('reverse-x'); } if (max_height > window_height) { render_y -= menu_height; $('context-menu').addClassName('reverse-y'); } else { $('context-menu').removeClassName('reverse-y'); } if (render_x <= 0) render_x = 1; if (render_y <= 0) render_y = 1; $('context-menu').style['left'] = (render_x + 'px'); $('context-menu').style['top'] = (render_y + 'px'); Effect.Appear('context-menu', {duration: 0.20}); if (window.parseStylesheets) { window.parseStylesheets(); } // IE }}) }, hideMenu: function() { Element.hide('context-menu'); }, addSelection: function(tr) { tr.addClassName('context-menu-selection'); this.checkSelectionBox(tr, true); }, toggleSelection: function(tr) { if (this.isSelected(tr)) { this.removeSelection(tr); } else { this.addSelection(tr); } }, removeSelection: function(tr) { tr.removeClassName('context-menu-selection'); this.checkSelectionBox(tr, false); }, unselectAll: function() { var rows = $$('.hascontextmenu'); for (i=0; i 0) { inputs[0].checked = checked; } }, isSelected: function(tr) { return Element.hasClassName(tr, 'context-menu-selection'); } } function toggleIssuesSelection(el) { var boxes = el.getElementsBySelector('input[type=checkbox]'); var all_checked = true; for (i = 0; i < boxes.length; i++) { if (boxes[i].checked == false) { all_checked = false; } } for (i = 0; i < boxes.length; i++) { if (all_checked) { boxes[i].checked = false; boxes[i].up('tr').removeClassName('context-menu-selection'); } else if (boxes[i].checked == false) { boxes[i].checked = true; boxes[i].up('tr').addClassName('context-menu-selection'); } } } function window_size() { var w; var h; if (window.innerWidth) { w = window.innerWidth; h = window.innerHeight; } else if (document.documentElement) { w = document.documentElement.clientWidth; h = document.documentElement.clientHeight; } else { w = document.body.clientWidth; h = document.body.clientHeight; } return {width: w, height: h}; }