react-keybindings
Advanced tools
Comparing version 1.0.7 to 1.0.8
@@ -17,2 +17,4 @@ "use strict"; | ||
var _lodash = require("lodash"); | ||
var _keyActions = require("../utils/keyActions"); | ||
@@ -57,22 +59,27 @@ | ||
_this.handleKeyDown = function (e) { | ||
var pressedKeys = [].concat(_toConsumableArray(_this.state.pressedKeys), [e.keyCode]); | ||
var _pressedKeys = _this.state.pressedKeys; | ||
var key = e.keyCode; | ||
// handle special keys | ||
if (e.ctrlKey && pressedKeys.indexOf(specialKeys.CTRL) < 0) { | ||
pressedKeys.push(specialKeys.CTRL); | ||
} | ||
if (!_pressedKeys.includes(key)) { | ||
var pressedKeys = [].concat(_toConsumableArray(_pressedKeys), [key]); | ||
if (e.metaKey && pressedKeys.indexOf(specialKeys.META) < 0) { | ||
pressedKeys.push(specialKeys.META); | ||
} | ||
// handle special keys | ||
if (e.ctrlKey && pressedKeys.indexOf(specialKeys.CTRL) < 0) { | ||
pressedKeys.push(specialKeys.CTRL); | ||
} | ||
if (e.shiftKey && pressedKeys.indexOf(specialKeys.SHIFT) < 0) { | ||
pressedKeys.push(specialKeys.SHIFT); | ||
} | ||
if (e.metaKey && pressedKeys.indexOf(specialKeys.META) < 0) { | ||
pressedKeys.push(specialKeys.META); | ||
} | ||
if (e.altKey && pressedKeys.indexOf(specialKeys.ALT) < 0) { | ||
pressedKeys.push(specialKeys.ALT); | ||
if (e.shiftKey && pressedKeys.indexOf(specialKeys.SHIFT) < 0) { | ||
pressedKeys.push(specialKeys.SHIFT); | ||
} | ||
if (e.altKey && pressedKeys.indexOf(specialKeys.ALT) < 0) { | ||
pressedKeys.push(specialKeys.ALT); | ||
} | ||
_this.setState({ pressedKeys: pressedKeys }); | ||
} | ||
_this.setState({ pressedKeys: pressedKeys }); | ||
}; | ||
@@ -79,0 +86,0 @@ |
{ | ||
"name": "react-keybindings", | ||
"version": "1.0.7", | ||
"version": "1.0.8", | ||
"description": "Add keybindings in React apps", | ||
@@ -10,4 +10,3 @@ "main": "./lib/index.js", | ||
"lint": "eslint src", | ||
"prepublish": "npm run clean && npm run build", | ||
"test": "mocha --compilers js:babel-core/register --recursive --require test/setup.js" | ||
"prepublish": "npm run clean && npm run build" | ||
}, | ||
@@ -36,7 +35,4 @@ "files": [ | ||
"eslint-plugin-react": "^3.16.1", | ||
"expect": "^1.13.4", | ||
"jsdom": "^8.0.1", | ||
"mocha": "^2.4.5", | ||
"lodash": "^4.3.0", | ||
"react": "^0.14.7", | ||
"react-addons-test-utils": "^0.14.7", | ||
"react-dom": "^0.14.7", | ||
@@ -43,0 +39,0 @@ "rimraf": "^2.5.1" |
import React, { Component } from "react" | ||
import { findDOMNode } from "react-dom" | ||
import { isEqual } from "lodash" | ||
import keyActions from "../utils/keyActions" | ||
@@ -35,22 +36,27 @@ import * as specialKeys from "../utils/keyCodes" | ||
handleKeyDown = (e) => { | ||
const pressedKeys = [...this.state.pressedKeys, e.keyCode] | ||
const _pressedKeys = this.state.pressedKeys | ||
const key = e.keyCode | ||
// handle special keys | ||
if (e.ctrlKey && pressedKeys.indexOf(specialKeys.CTRL) < 0) { | ||
pressedKeys.push(specialKeys.CTRL) | ||
} | ||
if (!_pressedKeys.includes(key)) { | ||
const pressedKeys = [..._pressedKeys, key] | ||
if (e.metaKey && pressedKeys.indexOf(specialKeys.META) < 0) { | ||
pressedKeys.push(specialKeys.META) | ||
} | ||
// handle special keys | ||
if (e.ctrlKey && pressedKeys.indexOf(specialKeys.CTRL) < 0) { | ||
pressedKeys.push(specialKeys.CTRL) | ||
} | ||
if (e.shiftKey && pressedKeys.indexOf(specialKeys.SHIFT) < 0) { | ||
pressedKeys.push(specialKeys.SHIFT) | ||
} | ||
if (e.metaKey && pressedKeys.indexOf(specialKeys.META) < 0) { | ||
pressedKeys.push(specialKeys.META) | ||
} | ||
if (e.altKey && pressedKeys.indexOf(specialKeys.ALT) < 0) { | ||
pressedKeys.push(specialKeys.ALT) | ||
if (e.shiftKey && pressedKeys.indexOf(specialKeys.SHIFT) < 0) { | ||
pressedKeys.push(specialKeys.SHIFT) | ||
} | ||
if (e.altKey && pressedKeys.indexOf(specialKeys.ALT) < 0) { | ||
pressedKeys.push(specialKeys.ALT) | ||
} | ||
this.setState({ pressedKeys }) | ||
} | ||
this.setState({ pressedKeys }) | ||
}; | ||
@@ -57,0 +63,0 @@ |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
20424
11
520