src/cm/media/js/lib/yui/yui3-3.15.0/build/dd-gestures/dd-gestures.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 602 e16a97fb364a
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     1
YUI.add('dd-gestures', function (Y, NAME) {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     2
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     3
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     4
    /**
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     5
    * This module is the conditional loaded `dd` module to support gesture events
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     6
    * in the event that `dd` is loaded onto a device that support touch based events.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     7
    *
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     8
    * This module is loaded and over rides 2 key methods on `DD.Drag` and `DD.DDM` to
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
     9
    * attach the gesture events. Overrides `DD.Drag._prep` and `DD.DDM._setupListeners`
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    10
    * methods as well as set's the property `DD.Drag.START_EVENT` to `gesturemovestart`
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    11
    * to enable gesture movement instead of mouse based movement.
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    12
    * @module dd
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    13
    * @submodule dd-gestures
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    14
    */
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    15
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    16
    Y.DD.Drag.START_EVENT = 'gesturemovestart';
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    17
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    18
    Y.DD.Drag.prototype._prep = function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    19
        this._dragThreshMet = false;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    20
        var node = this.get('node'), DDM = Y.DD.DDM;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    21
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    22
        node.addClass(DDM.CSS_PREFIX + '-draggable');
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    23
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    24
        node.on(Y.DD.Drag.START_EVENT, Y.bind(this._handleMouseDownEvent, this), {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    25
            minDistance: this.get('clickPixelThresh'),
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    26
            minTime: this.get('clickTimeThresh')
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    27
        });
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    28
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    29
        node.on('gesturemoveend', Y.bind(this._handleMouseUp, this), { standAlone: true });
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    30
        node.on('dragstart', Y.bind(this._fixDragStart, this));
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    31
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    32
    };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    33
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    34
    var _unprep = Y.DD.Drag.prototype._unprep;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    35
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    36
    Y.DD.Drag.prototype._unprep = function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    37
        var node = this.get('node');
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    38
        _unprep.call(this);
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    39
        node.detachAll('gesturemoveend');
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    40
    };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    41
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    42
    Y.DD.DDM._setupListeners = function() {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    43
        var DDM = Y.DD.DDM;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    44
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    45
        this._createPG();
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    46
        this._active = true;
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    47
        Y.one(Y.config.doc).on('gesturemove', Y.throttle(Y.bind(DDM._move, DDM), DDM.get('throttleTime')), {
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    48
            standAlone: true,
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    49
            preventDefault: true
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    50
        });
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    51
    };
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    52
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    53
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    54
e16a97fb364a Use YUI 3.15
gibus
parents:
diff changeset
    55
}, '@VERSION@', {"requires": ["dd-drag", "event-synthetic", "event-gestures"]});