Merge branch 'staging'

This commit is contained in:
Francisco Hodge 2019-03-11 18:31:04 -04:00
commit 564aa188e4
4 changed files with 24 additions and 11 deletions

8
package-lock.json generated
View File

@ -1,6 +1,6 @@
{
"name": "simple-keyboard",
"version": "2.19.1",
"version": "2.20.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
@ -2905,7 +2905,7 @@
},
"minimist": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
"integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
"dev": true
}
@ -8452,7 +8452,7 @@
},
"hoek": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
"resolved": "http://registry.npmjs.org/hoek/-/hoek-4.2.1.tgz",
"integrity": "sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA==",
"dev": true
},
@ -16404,7 +16404,7 @@
},
"topo": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/topo/-/topo-2.0.2.tgz",
"resolved": "http://registry.npmjs.org/topo/-/topo-2.0.2.tgz",
"integrity": "sha1-zVYVdSU5BXwNwEkaYhw7xvvh0YI=",
"dev": true,
"requires": {

View File

@ -1,6 +1,6 @@
{
"name": "simple-keyboard",
"version": "2.19.1",
"version": "2.20.0",
"description": "On-screen Javascript Virtual Keyboard",
"main": "build/index.js",
"types": "build/index.d.ts",

View File

@ -226,6 +226,12 @@ class SimpleKeyboard {
*/
/* istanbul ignore next */
handleButtonMouseDown(button, e) {
/**
* Handle event options
*/
if (this.options.preventMouseDownDefault) e.preventDefault();
if (this.options.stopMouseDownPropagation) e.stopPropagation();
/**
* @type {boolean} Whether the mouse is being held onKeyPress
*/
@ -1039,15 +1045,13 @@ class SimpleKeyboard {
!useMouseEvents
) {
/**
* PointerEvents support
* Handle PointerEvents
*/
buttonDOM.onpointerdown = e => {
if (this.options.preventMouseDownDefault) e.preventDefault();
this.handleButtonClicked(button);
this.handleButtonMouseDown(button, e);
};
buttonDOM.onpointerup = e => {
if (this.options.preventMouseDownDefault) e.preventDefault();
this.handleButtonMouseUp();
};
buttonDOM.onpointercancel = e => this.handleButtonMouseUp();
@ -1056,6 +1060,9 @@ class SimpleKeyboard {
* Fallback for browsers not supporting PointerEvents
*/
if (useTouchEvents) {
/**
* Handle touch events
*/
buttonDOM.ontouchstart = e => {
this.handleButtonClicked(button);
this.handleButtonMouseDown(button, e);
@ -1063,12 +1070,14 @@ class SimpleKeyboard {
buttonDOM.ontouchend = e => this.handleButtonMouseUp();
buttonDOM.ontouchcancel = e => this.handleButtonMouseUp();
} else {
/**
* Handle mouse events
*/
buttonDOM.onclick = () => {
this.isMouseHold = false;
this.handleButtonClicked(button);
};
buttonDOM.onmousedown = e => {
if (this.options.preventMouseDownDefault) e.preventDefault();
this.handleButtonMouseDown(button, e);
};
}

View File

@ -900,7 +900,9 @@ it('Keyboard handleButtonMouseDown will work', () => {
let keyboard = new Keyboard();
keyboard.handleButtonMouseDown("q", {
target: keyboard.getButtonElement("q")
target: keyboard.getButtonElement("q"),
preventDefault: () => {},
stopPropagation: () => {}
});
var clickEvent = document.createEvent('MouseEvents');
@ -918,7 +920,9 @@ it('Keyboard handleButtonMouseDown will work with preventMouseDownDefault', () =
keyboard.options.preventMouseDownDefault = true;
keyboard.handleButtonMouseDown("q", {
target: keyboard.getButtonElement("q")
target: keyboard.getButtonElement("q"),
preventDefault: () => {},
stopPropagation: () => {}
});
var clickEvent = document.createEvent('MouseEvents');