function mousemove(e) { if (!this._dragging) { return; } eventTool.stop(e.event); if (e.gestureEvent !== 'pinch') { if (interactionMutex.isTaken('globalPan', this._zr)) { return; } var x = e.offsetX; var y = e.offsetY; var dx = x - this._x; var dy = y - this._y; this._x = x; this._y = y; var target = this.target; if (target) { var pos = target.position; pos[0] += dx; pos[1] += dy; target.dirty(); } eventTool.stop(e.event); this.trigger('pan', dx, dy); } }
function mousemove(e) { if (!this._dragging) { return; } eventTool.stop(e.event); if (e.gestureEvent !== 'pinch') { if (interactionMutex.isTaken(this._zr, 'globalPan')) { return; } var x = e.offsetX; var y = e.offsetY; var oldX = this._x; var oldY = this._y; var dx = x - oldX; var dy = y - oldY; this._x = x; this._y = y; eventTool.stop(e.event); this.trigger('pan', dx, dy, oldX, oldY, x, y); } }
function mousemove(e) { if (eventTool.notLeftMouse(e) || !checkKeyBinding(this, 'moveOnMouseMove', e) || !this._dragging || e.gestureEvent === 'pinch' || interactionMutex.isTaken(this._zr, 'globalPan') ) { return; } var x = e.offsetX; var y = e.offsetY; var oldX = this._x; var oldY = this._y; var dx = x - oldX; var dy = y - oldY; this._x = x; this._y = y; this._opt.preventDefaultMouseMove && eventTool.stop(e.event); this.trigger('pan', dx, dy, oldX, oldY, x, y); }
function mousewheel(e) { eventTool.stop(e.event); // Convenience: // Mac and VM Windows on Mac: scroll up: zoom out. // Windows: scroll up: zoom in. var zoomDelta = e.wheelDelta > 0 ? 1.1 : 1 / 1.1; zoom.call(this, e, zoomDelta, e.offsetX, e.offsetY); }
function pinch(e) { if (interactionMutex.isTaken('globalPan', this._zr)) { return; } eventTool.stop(e.event); var zoomDelta = e.pinchScale > 1 ? 1.1 : 1 / 1.1; zoom.call(this, e, zoomDelta, e.pinchX, e.pinchY); }
function zoom(e, zoomDelta, zoomX, zoomY) { if (this.pointerChecker && this.pointerChecker(e, zoomX, zoomY)) { // When mouse is out of roamController rect, // default befavoius should be be disabled, otherwise // page sliding is disabled, contrary to expectation. eventTool.stop(e.event); this.trigger('zoom', zoomDelta, zoomX, zoomY); } }
eventTool.addEventListener(textarea, 'keydown', function (e) { if ((e.keyCode || e.which) === 9) { // get caret position/selection var val = this.value; var start = this.selectionStart; var end = this.selectionEnd; // set textarea value to: text before caret + tab + text after caret this.value = val.substring(0, start) + ITEM_SPLITER + val.substring(end); // put caret at right position again this.selectionStart = this.selectionEnd = start + 1; // prevent the focus lose eventTool.stop(e); } });
function zoom(e, zoomDelta, zoomX, zoomY) { var rect = this.rectProvider && this.rectProvider(); if (rect && rect.contain(zoomX, zoomY)) { // When mouse is out of roamController rect, // default befavoius should be be disabled, otherwise // page sliding is disabled, contrary to expectation. eventTool.stop(e.event); var target = this.target; var zoomLimit = this.zoomLimit; if (target) { var pos = target.position; var scale = target.scale; var newZoom = this.zoom = this.zoom || 1; newZoom *= zoomDelta; if (zoomLimit) { var zoomMin = zoomLimit.min || 0; var zoomMax = zoomLimit.max || Infinity; newZoom = Math.max( Math.min(zoomMax, newZoom), zoomMin ); } var zoomScale = newZoom / this.zoom; this.zoom = newZoom; // Keep the mouse center when scaling pos[0] -= (zoomX - pos[0]) * (zoomScale - 1); pos[1] -= (zoomY - pos[1]) * (zoomScale - 1); scale[0] *= zoomScale; scale[1] *= zoomScale; target.dirty(); } this.trigger('zoom', zoomDelta, zoomX, zoomY); } }
onmousemove: function (e) { // Fot mobile devicem, prevent screen slider on the button. eventTool.stop(e.event); },