src/cm/media/js/lib/yui/yui_3.10.3/build/dd-scroll/dd-scroll-debug.js
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
/*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
YUI 3.10.3 (build 2fb5187)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
Copyright 2013 Yahoo! Inc. All rights reserved.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
Licensed under the BSD License.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
http://yuilibrary.com/license/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
*/
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
YUI.add('dd-scroll', function (Y, NAME) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
     * Base scroller class used to create the Plugin.DDNodeScroll and Plugin.DDWinScroll.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
     * This class should not be called on it's own, it's designed to be a plugin.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
     * @module dd
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
     * @submodule dd-scroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
     * Base scroller class used to create the Plugin.DDNodeScroll and Plugin.DDWinScroll.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
     * This class should not be called on it's own, it's designed to be a plugin.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
     * @class Scroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
     * @extends Base
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
     * @namespace DD
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
     * @constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
    var S = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
        S.superclass.constructor.apply(this, arguments);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
    WS, NS,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
    HOST = 'host',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
    BUFFER = 'buffer',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    PARENT_SCROLL = 'parentScroll',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
    WINDOW_SCROLL = 'windowScroll',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
    SCROLL_TOP = 'scrollTop',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
    SCROLL_LEFT = 'scrollLeft',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
    OFFSET_WIDTH = 'offsetWidth',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
    OFFSET_HEIGHT = 'offsetHeight';
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
    S.ATTRS = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
        * Internal config option to hold the node that we are scrolling. Should not be set by the developer.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
        * @attribute parentScroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
        * @type Node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
        parentScroll: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
            value: false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
            setter: function(node) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
                if (node) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
                    return node;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
                return false;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
        * The number of pixels from the edge of the screen to turn on scrolling. Default: 30
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
        * @attribute buffer
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
        * @type Number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
        buffer: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
            value: 30,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
            validator: Y.Lang.isNumber
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
        * The number of milliseconds delay to pass to the auto scroller. Default: 235
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
        * @attribute scrollDelay
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
        * @type Number
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
        scrollDelay: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
            value: 235,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
            validator: Y.Lang.isNumber
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
        * The host we are plugged into.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
        * @attribute host
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
        * @type Object
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
        host: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
            value: null
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
        * Turn on window scroll support, default: false
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
        * @attribute windowScroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
        * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
        windowScroll: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
            value: false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
            validator: Y.Lang.isBoolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
        * Allow vertical scrolling, default: true.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
        * @attribute vertical
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
        * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
        vertical: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
            value: true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
            validator: Y.Lang.isBoolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
        * Allow horizontal scrolling, default: true.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
        * @attribute horizontal
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
        * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
        horizontal: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
            value: true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
            validator: Y.Lang.isBoolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
    Y.extend(S, Y.Base, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
        * Tells if we are actively scrolling or not.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
        * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
        * @property _scrolling
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
        * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
        _scrolling: null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
        * Cache of the Viewport dims.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
        * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
        * @property _vpRegionCache
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
        * @type Object
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
        _vpRegionCache: null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
        * Cache of the dragNode dims.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
        * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
        * @property _dimCache
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
        * @type Object
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
        _dimCache: null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
        * Holder for the Timer object returned from Y.later.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
        * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
        * @property _scrollTimer
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
        * @type {Y.later}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
        _scrollTimer: null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
        * Sets the _vpRegionCache property with an Object containing the dims from the viewport.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
        * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
        * @method _getVPRegion
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
        _getVPRegion: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
            var r = {},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
                n = this.get(PARENT_SCROLL),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
            b = this.get(BUFFER),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
            ws = this.get(WINDOW_SCROLL),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
            xy = ((ws) ? [] : n.getXY()),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
            w = ((ws) ? 'winWidth' : OFFSET_WIDTH),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
            h = ((ws) ? 'winHeight' : OFFSET_HEIGHT),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
            t = ((ws) ? n.get(SCROLL_TOP) : xy[1]),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
            l = ((ws) ? n.get(SCROLL_LEFT) : xy[0]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
            r = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
                top: t + b,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
                right: (n.get(w) + l) - b,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
                bottom: (n.get(h) + t) - b,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
                left: l + b
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
            };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
            this._vpRegionCache = r;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
            return r;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
        initializer: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
            var h = this.get(HOST);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
            h.after('drag:start', Y.bind(this.start, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
            h.after('drag:end', Y.bind(this.end, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
            h.on('drag:align', Y.bind(this.align, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
            //TODO - This doesn't work yet??
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
            Y.one('win').on('scroll', Y.bind(function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
                this._vpRegionCache = null;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
            }, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
        * Check to see if we need to fire the scroll timer. If scroll timer is running this will scroll the window.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
        * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
        * @method _checkWinScroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
        * @param {Boolean} move Should we move the window. From Y.later
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
        _checkWinScroll: function(move) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
            var r = this._getVPRegion(),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
                ho = this.get(HOST),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
                ws = this.get(WINDOW_SCROLL),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
                xy = ho.lastXY,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
                scroll = false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
                b = this.get(BUFFER),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
                win = this.get(PARENT_SCROLL),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
                sTop = win.get(SCROLL_TOP),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
                sLeft = win.get(SCROLL_LEFT),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
                w = this._dimCache.w,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
                h = this._dimCache.h,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
                bottom = xy[1] + h,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
                top = xy[1],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
                right = xy[0] + w,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
                left = xy[0],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
                nt = top,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
                nl = left,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
                st = sTop,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
                sl = sLeft;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
            if (this.get('horizontal')) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
                if (left <= r.left) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
                    scroll = true;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
                    nl = xy[0] - ((ws) ? b : 0);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
                    sl = sLeft - b;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
                if (right >= r.right) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
                    scroll = true;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
                    nl = xy[0] + ((ws) ? b : 0);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
                    sl = sLeft + b;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
            if (this.get('vertical')) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
                if (bottom >= r.bottom) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
                    scroll = true;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
                    nt = xy[1] + ((ws) ? b : 0);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
                    st = sTop + b;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
                if (top <= r.top) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
                    scroll = true;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
                    nt = xy[1] - ((ws) ? b : 0);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
                    st = sTop - b;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
            if (st < 0) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
                st = 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
                nt = xy[1];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
            if (sl < 0) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
                sl = 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
                nl = xy[0];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
            if (nt < 0) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
                nt = xy[1];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
            if (nl < 0) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
                nl = xy[0];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
            if (move) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
                ho.actXY = [nl, nt];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
                ho._alignNode([nl, nt], true); //We are srolling..
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
                xy = ho.actXY;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
                ho.actXY = [nl, nt];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
                ho._moveNode({ node: win, top: st, left: sl});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
                if (!st && !sl) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
                    this._cancelScroll();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
            } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
                if (scroll) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
                    this._initScroll();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
                } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
                    this._cancelScroll();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
        * Cancel a previous scroll timer and init a new one.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
        * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
        * @method _initScroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
        _initScroll: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
            this._cancelScroll();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
            this._scrollTimer = Y.Lang.later(this.get('scrollDelay'), this, this._checkWinScroll, [true], true);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
        * Cancel a currently running scroll timer.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
        * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
        * @method _cancelScroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
        _cancelScroll: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
            this._scrolling = false;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
            if (this._scrollTimer) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
                this._scrollTimer.cancel();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
                delete this._scrollTimer;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
        * Called from the drag:align event to determine if we need to scroll.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
        * @method align
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
        align: function(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
            if (this._scrolling) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
                this._cancelScroll();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
                e.preventDefault();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
            if (!this._scrolling) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
                this._checkWinScroll();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
        * Set the cache of the dragNode dims.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
        * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
        * @method _setDimCache
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
        _setDimCache: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
            var node = this.get(HOST).get('dragNode');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
            this._dimCache = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
                h: node.get(OFFSET_HEIGHT),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
                w: node.get(OFFSET_WIDTH)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
            };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
        * Called from the drag:start event
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
        * @method start
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
        start: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
            this._setDimCache();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
        * Called from the drag:end event
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
        * @method end
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
        end: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
            this._dimCache = null;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
            this._cancelScroll();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
    Y.namespace('Plugin');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
     * Extends the Scroll class to make the window scroll while dragging.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
     * @class DDWindowScroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
     * @extends Scroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
     * @namespace Plugin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
     * @constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
    WS = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
        WS.superclass.constructor.apply(this, arguments);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
    WS.ATTRS = Y.merge(S.ATTRS, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
        * Turn on window scroll support, default: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
        * @attribute windowScroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
        * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
        windowScroll: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
            value: true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
            setter: function(scroll) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
                if (scroll) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
                    this.set(PARENT_SCROLL, Y.one('win'));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
                return scroll;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
    Y.extend(WS, S, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
        //Shouldn't have to do this..
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
        initializer: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
            this.set('windowScroll', this.get('windowScroll'));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
    * The Scroll instance will be placed on the Drag instance under the winscroll namespace.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
    * @property NS
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
    * @default winscroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
    * @readonly
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
    * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
    * @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
    * @type {String}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
    WS.NAME = WS.NS = 'winscroll';
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
    Y.Plugin.DDWinScroll = WS;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
     * Extends the Scroll class to make a parent node scroll while dragging.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
     * @class DDNodeScroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
     * @extends Scroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
     * @namespace Plugin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
     * @constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
    NS = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
        NS.superclass.constructor.apply(this, arguments);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
    NS.ATTRS = Y.merge(S.ATTRS, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
        * The node we want to scroll. Used to set the internal parentScroll attribute.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
        * @attribute node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
        * @type Node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
        node: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
            value: false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
            setter: function(node) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
                var n = Y.one(node);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
                if (!n) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
                    if (node !== false) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
                        Y.error('DDNodeScroll: Invalid Node Given: ' + node);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   398
                    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
                } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
                    this.set(PARENT_SCROLL, n);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
                return n;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   404
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
    Y.extend(NS, S, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
        //Shouldn't have to do this..
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   408
        initializer: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   409
            this.set('node', this.get('node'));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   410
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   411
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   412
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   413
    * The NodeScroll instance will be placed on the Drag instance under the nodescroll namespace.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   414
    * @property NS
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   415
    * @default nodescroll
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   416
    * @readonly
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   417
    * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   418
    * @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   419
    * @type {String}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   420
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   421
    NS.NAME = NS.NS = 'nodescroll';
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   422
    Y.Plugin.DDNodeScroll = NS;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   423
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   424
    Y.DD.Scroll = S;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   425
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   426
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   427
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   428
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   429
}, '3.10.3', {"requires": ["dd-drag"]});