MDL-53989 cbe: CMD + click selection for competency picker

This commit is contained in:
Ryan Wyllie
2016-05-06 04:40:02 +00:00
parent fc1ef59fbe
commit fd83879728
4 changed files with 29 additions and 17 deletions
File diff suppressed because one or more lines are too long
+25 -13
View File
@@ -69,6 +69,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
up: 38,
right: 39,
down: 40,
eight: 56,
asterisk: 106
};
@@ -274,6 +275,8 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
Tree.prototype.handleKeyDown = function(item, e) {
var currentIndex = this.visibleItems.index(item);
var newItem = null;
var hasKeyModifier = e.shiftKey || e.ctrlKey || e.metaKey || e.altKey;
var thisObj = this;
switch (e.keyCode) {
case this.keys.home: {
@@ -282,7 +285,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
newItem.focus();
if (e.shiftKey) {
this.multiSelectItem(newItem);
} else if (!e.ctrlKey) {
} else if (!hasKeyModifier) {
this.selectItem(newItem);
}
@@ -295,7 +298,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
newItem.focus();
if (e.shiftKey) {
this.multiSelectItem(newItem);
} else if (!e.ctrlKey) {
} else if (!hasKeyModifier) {
this.selectItem(newItem);
}
@@ -307,7 +310,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
if (e.shiftKey) {
this.multiSelectItem(item);
} else if (e.ctrlKey) {
} else if (e.metaKey || e.ctrlKey) {
this.toggleItem(item);
} else {
this.selectItem(item);
@@ -327,7 +330,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
itemParent.focus();
if (e.shiftKey) {
this.multiSelectItem(itemParent);
} else if (!e.ctrlKey) {
} else if (!hasKeyModifier) {
this.selectItem(itemParent);
}
}
@@ -346,7 +349,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
newItem.focus();
if (e.shiftKey) {
this.multiSelectItem(newItem);
} else if (!e.ctrlKey) {
} else if (!hasKeyModifier) {
this.selectItem(newItem);
}
}
@@ -362,7 +365,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
prev.focus();
if (e.shiftKey) {
this.multiSelectItem(prev);
} else if (!e.ctrlKey) {
} else if (!hasKeyModifier) {
this.selectItem(prev);
}
}
@@ -377,7 +380,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
next.focus();
if (e.shiftKey) {
this.multiSelectItem(next);
} else if (!e.ctrlKey) {
} else if (!hasKeyModifier) {
this.selectItem(next);
}
}
@@ -386,9 +389,6 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
}
case this.keys.asterisk: {
// Expand all groups.
var thisObj = this;
this.parents.each(function() {
thisObj.expandGroup($(this));
});
@@ -396,6 +396,18 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
e.stopPropagation();
return false;
}
case this.keys.eight: {
if (e.shiftKey) {
// Expand all groups.
this.parents.each(function() {
thisObj.expandGroup($(this));
});
e.stopPropagation();
}
return false;
}
}
return true;
@@ -409,7 +421,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
* @param {Event} e The event.
*/
Tree.prototype.handleKeyPress = function(item, e) {
if (e.altKey || e.ctrlKey || e.shiftKey) {
if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) {
// Do nothing.
return true;
}
@@ -498,7 +510,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
*/
Tree.prototype.handleDblClick = function(item, e) {
if (e.altKey || e.ctrlKey || e.shiftKey) {
if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) {
// Do nothing.
return true;
}
@@ -540,7 +552,7 @@ define(['jquery', 'core/url', 'core/log'], function($, url, log) {
if (e.shiftKey) {
this.multiSelectItem(item);
} else if (e.ctrlKey) {
} else if (e.metaKey || e.ctrlKey) {
this.toggleItem(item);
} else {
this.selectItem(item);
+1 -1
View File
File diff suppressed because one or more lines are too long
+2 -2
View File
@@ -326,7 +326,7 @@ define(['jquery'], function($) {
Tree.prototype.handleKeyDown = function(item, e) {
var currentIndex = this.getVisibleItems().index(item);
if ((e.altKey || e.ctrlKey) || (e.shiftKey && e.keyCode != this.keys.tab)) {
if ((e.altKey || e.ctrlKey || e.metaKey) || (e.shiftKey && e.keyCode != this.keys.tab)) {
// Do nothing.
return true;
}
@@ -443,7 +443,7 @@ define(['jquery'], function($) {
*/
Tree.prototype.handleClick = function(item, e) {
if (e.altKey || e.ctrlKey || e.shiftKey) {
if (e.altKey || e.ctrlKey || e.shiftKey || e.metaKey) {
// Do nothing.
return true;
}