diff options
Diffstat (limited to 'legacy/web/app/view/TouchFix62.js')
-rw-r--r-- | legacy/web/app/view/TouchFix62.js | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/legacy/web/app/view/TouchFix62.js b/legacy/web/app/view/TouchFix62.js new file mode 100644 index 00000000..300d4f70 --- /dev/null +++ b/legacy/web/app/view/TouchFix62.js @@ -0,0 +1,48 @@ +/* + * Copyright 2018 Anton Tananaev (anton@traccar.org) + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +/* + * Workaround for bug in ExtJs 6.2.0. + * Resolved in current yet unreleased version + */ + +Ext.define('Traccar.view.TouchFix62', { + override: 'Ext.dom.Element' +}, +function () { + var additiveEvents = this.prototype.additiveEvents, + eventMap = this.prototype.eventMap; + if (Ext.supports.TouchEvents && Ext.firefoxVersion >= 52 && Ext.os.is.Desktop) { + eventMap['touchstart'] = 'mousedown'; + eventMap['touchmove'] = 'mousemove'; + eventMap['touchend'] = 'mouseup'; + eventMap['touchcancel'] = 'mouseup'; + eventMap['click'] = 'click'; + eventMap['dblclick'] = 'dblclick'; + additiveEvents['mousedown'] = 'mousedown'; + additiveEvents['mousemove'] = 'mousemove'; + additiveEvents['mouseup'] = 'mouseup'; + additiveEvents['touchstart'] = 'touchstart'; + additiveEvents['touchmove'] = 'touchmove'; + additiveEvents['touchend'] = 'touchend'; + additiveEvents['touchcancel'] = 'touchcancel'; + additiveEvents['pointerdown'] = 'mousedown'; + additiveEvents['pointermove'] = 'mousemove'; + additiveEvents['pointerup'] = 'mouseup'; + additiveEvents['pointercancel'] = 'mouseup'; + } +}); |