From 246eebeb822a2f35dc183b0c721966efeb72cec5 Mon Sep 17 00:00:00 2001 From: Thibault Duplessis Date: Wed, 20 Jan 2016 13:52:09 +0700 Subject: [PATCH] fix board editor drop-in on touch screens --- conf/base.conf | 2 +- ui/editor/src/drag.js | 2 +- ui/editor/src/view.js | 10 ++++++++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/conf/base.conf b/conf/base.conf index 1aca4faba2..76316e3198 100644 --- a/conf/base.conf +++ b/conf/base.conf @@ -9,7 +9,7 @@ net { ip = "5.196.91.160" asset { domain = ${net.domain} - version = 809 + version = 810 } } play { diff --git a/ui/editor/src/drag.js b/ui/editor/src/drag.js index d7a04b35ca..c3ac55d773 100644 --- a/ui/editor/src/drag.js +++ b/ui/editor/src/drag.js @@ -3,7 +3,7 @@ var util = require('chessground').util; var drag = require('chessground').drag; module.exports = function(ctrl, e) { - if (e.button !== 0) return; // only left click + if (e.button !== undefined && e.button !== 0) return; // only touch or left click var role = e.target.getAttribute('data-role'), color = e.target.getAttribute('data-color'); if (!role || !color) return; diff --git a/ui/editor/src/view.js b/ui/editor/src/view.js index 7dd41be044..aff2f40b54 100644 --- a/ui/editor/src/view.js +++ b/ui/editor/src/view.js @@ -135,6 +135,8 @@ function sparePieces(ctrl, color, orientation, position) { })); } +var eventNames = ['mousedown', 'touchstart']; + module.exports = function(ctrl) { var fen = ctrl.computeFen(); var color = ctrl.chessground.data.orientation; @@ -143,9 +145,13 @@ module.exports = function(ctrl) { config: function(el, isUpdate, context) { if (isUpdate) return; var onstart = partial(drag, ctrl); - document.addEventListener('mousedown', onstart); + eventNames.forEach(function(name) { + document.addEventListener(name, onstart); + }); context.onunload = function() { - document.removeEventListener('mousedown', onstart); + eventNames.forEach(function(name) { + document.removeEventListener(name, onstart); + }); }; } }, [