src/cm/media/js/lib/yui/yui_3.10.3/build/dd-gestures/dd-gestures-debug.js
changeset 525 89ef5ed3c48b
equal deleted inserted replaced
524:322d0feea350 525:89ef5ed3c48b
       
     1 /*
       
     2 YUI 3.10.3 (build 2fb5187)
       
     3 Copyright 2013 Yahoo! Inc. All rights reserved.
       
     4 Licensed under the BSD License.
       
     5 http://yuilibrary.com/license/
       
     6 */
       
     7 
       
     8 YUI.add('dd-gestures', function (Y, NAME) {
       
     9 
       
    10 
       
    11     /**
       
    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.
       
    14     *
       
    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.
       
    19     * @module dd
       
    20     * @submodule dd-gestures
       
    21     */
       
    22     Y.log('Drag gesture support loaded', 'info', 'drag-gestures');
       
    23 
       
    24     Y.DD.Drag.START_EVENT = 'gesturemovestart';
       
    25 
       
    26     Y.DD.Drag.prototype._prep = function() {
       
    27         Y.log('Using DD override prep to attach gesture events', 'info', 'drag-gestures');
       
    28         this._dragThreshMet = false;
       
    29         var node = this.get('node'), DDM = Y.DD.DDM;
       
    30 
       
    31         node.addClass(DDM.CSS_PREFIX + '-draggable');
       
    32 
       
    33         node.on(Y.DD.Drag.START_EVENT, Y.bind(this._handleMouseDownEvent, this), {
       
    34             minDistance: this.get('clickPixelThresh'),
       
    35             minTime: this.get('clickTimeThresh')
       
    36         });
       
    37 
       
    38         node.on('gesturemoveend', Y.bind(this._handleMouseUp, this), { standAlone: true });
       
    39         node.on('dragstart', Y.bind(this._fixDragStart, this));
       
    40 
       
    41     };
       
    42 
       
    43     var _unprep = Y.DD.Drag.prototype._unprep;
       
    44 
       
    45     Y.DD.Drag.prototype._unprep = function() {
       
    46         var node = this.get('node');
       
    47         _unprep.call(this);
       
    48         node.detachAll('gesturemoveend');
       
    49     };
       
    50 
       
    51     Y.DD.DDM._setupListeners = function() {
       
    52         var DDM = Y.DD.DDM;
       
    53 
       
    54         this._createPG();
       
    55         this._active = true;
       
    56         Y.one(Y.config.doc).on('gesturemove', Y.throttle(Y.bind(DDM._move, DDM), DDM.get('throttleTime')), { standAlone: true });
       
    57     };
       
    58 
       
    59 
       
    60 
       
    61 }, '3.10.3', {"requires": ["dd-drag", "event-synthetic", "event-gestures"]});