ChiliProject is not maintained anymore. Please be advised that there will be no more updates.

We do not recommend that you setup new ChiliProject instances and we urge all existing users to migrate their data to a maintained system, e.g. Redmine. We will provide a migration script later. In the meantime, you can use the instructions by Christian Daehn.

Multiselect issues on Mac (Bug #178)


Added by S C at 2011-02-11 04:57 pm. Updated at 2011-02-27 10:09 pm.


Status:Closed Start date:2011-02-11
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:User interface
Target version:1.1.0 — Bell
Remote issue URL: Affected version:

Description

When I try to select multiple issues on OS X, I use the command key instead of the control key.
But it's not supported.

So here is a very tiny patch to handle it.


context_menu.js.patch (518 Bytes) S C, 2011-02-11 04:57 pm


Associated revisions

Revision f4f00e30
Added by Felix Schäfer at 2011-02-18 10:42 am

Allow issue multiselect on Mac. #178

Contributed by Simon COURTOIS

History

Updated by Felix Schäfer at 2011-02-11 05:57 pm

Mmh, I've always used the checkboxes for that and didn't even know you could multiselect them that way :-) Does this present any drawbacks for other browsers/platforms?

Updated by S C at 2011-02-11 06:34 pm

To be honest, I just don't know. I guess not since it's pretty specific, but I can't be sure.

Updated by Holger Just at 2011-02-11 06:59 pm

According to http://unixpapa.com/js/key.html, metaKey is available on all current browsers on the Mac. But it is undefined on IE. Would need to check there if that fails.

Updated by Felix Schäfer at 2011-02-11 10:15 pm

Holger Just wrote:

According to http://unixpapa.com/js/key.html, metaKey is available on all current browsers on the Mac.

Funny thing: Safari doesn't care, I still get the context menu when clicking on stuff, even with the patch and the command key pressed. Firefox for mac does a multiselect with the command key though.

But it is undefined on IE. Would need to check there if that fails.

Just tried it with IE8: ctrl+select still does a multiselect (as expected), so I guess it will be OK on earlier versions too if they didn't change too much around that.

Updated by Felix Schäfer at 2011-02-15 02:31 pm

Ok, Holger found out that "cmd+click" in Safari sends a middle click and a "metaKey", not a left click and "metaKey". We've changed the check for left click to a check for not right click, and that seems to work as expected on Safari/OSX, Firefox/OSX and IE8/Win7.

 1diff --git a/public/javascripts/context_menu.js b/public/javascripts/context_menu.js
 2index 4bb73ee..2e582d9 100644
 3--- a/public/javascripts/context_menu.js
 4+++ b/public/javascripts/context_menu.js
 5@@ -40,7 +40,7 @@ ContextMenu.prototype = {
 6        this.hideMenu();
 7        if (Event.element(e).tagName == 'A') { return; }
 8     if (window.opera && e.altKey) {    return; }
 9-    if (Event.isLeftClick(e) || (navigator.appVersion.match(/\bMSIE\b/))) {      
10+    if (!Event.isRightClick(e) || (navigator.appVersion.match(/\bMSIE\b/))) {      
11       var tr = Event.findElement(e, 'tr');
12       if (tr!=null && tr!=document && tr.hasClassName('hascontextmenu')) {
13         // a row was clicked, check if the click was on checkbox
14@@ -53,7 +53,7 @@ ContextMenu.prototype = {
15             tr.removeClassName('context-menu-selection');
16           }
17         } else {
18-          if (e.ctrlKey) {
19+          if (e.ctrlKey || e.metaKey) {
20             this.toggleSelection(tr);
21           } else if (e.shiftKey) {
22             if (this.lastSelected != null) {

I'll merge it tomorrow if there are no naysayers until then.

  • Status changed from Open to Ready for review

Updated by Felix Schäfer at 2011-02-18 09:49 am

  • Status changed from Ready for review to Closed

Updated by Eric Davis at 2011-02-27 10:09 pm

  • Target version set to 1.1.0 — Bell

Also available in: Atom PDF