2 YUI 3.13.0 (build 508226d)
3 Copyright 2013 Yahoo! Inc. All rights reserved.
4 Licensed under the BSD License.
5 http://yuilibrary.com/license/
8 YUI.add('dd-gestures', function (Y, NAME) {
12 * This module is the conditional loaded `dd` module to support gesture events
13 * in the event that `dd` is loaded onto a device that support touch based events.
15 * This module is loaded and over rides 2 key methods on `DD.Drag` and `DD.DDM` to
16 * attach the gesture events. Overrides `DD.Drag._prep` and `DD.DDM._setupListeners`
17 * methods as well as set's the property `DD.Drag.START_EVENT` to `gesturemovestart`
18 * to enable gesture movement instead of mouse based movement.
20 * @submodule dd-gestures
23 Y.DD.Drag.START_EVENT = 'gesturemovestart';
25 Y.DD.Drag.prototype._prep = function() {
26 this._dragThreshMet = false;
27 var node = this.get('node'), DDM = Y.DD.DDM;
29 node.addClass(DDM.CSS_PREFIX + '-draggable');
31 node.on(Y.DD.Drag.START_EVENT, Y.bind(this._handleMouseDownEvent, this), {
32 minDistance: this.get('clickPixelThresh'),
33 minTime: this.get('clickTimeThresh')
36 node.on('gesturemoveend', Y.bind(this._handleMouseUp, this), { standAlone: true });
37 node.on('dragstart', Y.bind(this._fixDragStart, this));
41 var _unprep = Y.DD.Drag.prototype._unprep;
43 Y.DD.Drag.prototype._unprep = function() {
44 var node = this.get('node');
46 node.detachAll('gesturemoveend');
49 Y.DD.DDM._setupListeners = function() {
54 Y.one(Y.config.doc).on('gesturemove', Y.throttle(Y.bind(DDM._move, DDM), DDM.get('throttleTime')), { standAlone: true });
59 }, '3.13.0', {"requires": ["dd-drag", "event-synthetic", "event-gestures"]});