(key, scope, method)
| 10303 | |
| 10304 | // parse and assign shortcut |
| 10305 | function assignKey(key, scope, method){ |
| 10306 | var keys, mods, i, mi; |
| 10307 | if (method === undefined) { |
| 10308 | method = scope; |
| 10309 | scope = 'all'; |
| 10310 | } |
| 10311 | key = key.replace(/\s/g,''); |
| 10312 | keys = key.split(','); |
| 10313 | |
| 10314 | if((keys[keys.length-1])=='') |
| 10315 | keys[keys.length-2] += ','; |
| 10316 | // for each shortcut |
| 10317 | for (i = 0; i < keys.length; i++) { |
| 10318 | // set modifier keys if any |
| 10319 | mods = []; |
| 10320 | key = keys[i].split('+'); |
| 10321 | if(key.length > 1){ |
| 10322 | mods = key.slice(0,key.length-1); |
| 10323 | for (mi = 0; mi < mods.length; mi++) |
| 10324 | mods[mi] = _MODIFIERS[mods[mi]]; |
| 10325 | key = [key[key.length-1]]; |
| 10326 | } |
| 10327 | // convert to keycode and... |
| 10328 | key = key[0] |
| 10329 | key = _MAP[key] || key.toUpperCase().charCodeAt(0); |
| 10330 | // ...store handler |
| 10331 | if (!(key in _handlers)) _handlers[key] = []; |
| 10332 | _handlers[key].push({ shortcut: keys[i], scope: scope, method: method, key: keys[i], mods: mods }); |
| 10333 | } |
| 10334 | }; |
| 10335 | |
| 10336 | function filter(event){ |
| 10337 | var tagName = (event.target || event.srcElement).tagName; |
nothing calls this directly
no outgoing calls
no test coverage detected
searching dependent graphs…