src/cm/media/js/lib/yui/yui_3.10.3/build/dd-proxy/dd-proxy.js
author gibus
Tue, 16 Jul 2013 14:29:46 +0200
changeset 525 89ef5ed3c48b
permissions -rw-r--r--
Upgrades to yui 3.10.3
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-proxy', 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
     * Plugin for dd-drag for creating a proxy drag node, instead of dragging the original node.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
     * @module dd
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
     * @submodule dd-proxy
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
     * Plugin for dd-drag for creating a proxy drag node, instead of dragging the original node.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
     * @class DDProxy
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
     * @extends Base
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
     * @constructor
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
     * @namespace Plugin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
     */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
    var DDM = Y.DD.DDM,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
        NODE = 'node',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
        DRAG_NODE = 'dragNode',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
        HOST = 'host',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
        TRUE = true, proto,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
        P = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
            P.superclass.constructor.apply(this, arguments);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
        };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
    P.NAME = 'DDProxy';
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
    * The Proxy instance will be placed on the Drag instance under the proxy namespace.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
    * @property NS
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
    * @default con
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
    * @readonly
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
    * @protected
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
    * @static
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
    * @type {String}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
    P.NS = 'proxy';
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
    P.ATTRS = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
        host: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
        * Move the original node at the end of the drag. Default: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
        * @attribute moveOnEnd
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
        * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
        moveOnEnd: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
            value: TRUE
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
        * Hide the drag node at the end of the drag. Default: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
        * @attribute hideOnEnd
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
        * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
        hideOnEnd: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
            value: TRUE
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
        * Make the Proxy node assume the size of the original node. Default: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
        * @attribute resizeFrame
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
        * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
        resizeFrame: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
            value: TRUE
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
        * Make the Proxy node appear in the same place as the original node. Default: true
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
        * @attribute positionProxy
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
        * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
        positionProxy: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
            value: TRUE
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
        * The default border style for the border of the proxy. Default: 1px solid #808080
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
        * @attribute borderStyle
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
        * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
        borderStyle: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
            value: '1px solid #808080'
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
        * Should the node be cloned into the proxy for you. Default: false
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
        * @attribute cloneNode
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
        * @type Boolean
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
        cloneNode: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
            value: false
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
    proto = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
        * Holds the event handles for setting the proxy
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
        * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
        * @property _hands
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
        _hands: null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
        * Handler for the proxy config attribute
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
        * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
        * @method _init
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
        _init: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
            if (!DDM._proxy) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
                DDM._createFrame();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
                Y.on('domready', Y.bind(this._init, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
                return;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
            if (!this._hands) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
                this._hands = [];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
            var h, h1, host = this.get(HOST), dnode = host.get(DRAG_NODE);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
            if (dnode.compareTo(host.get(NODE))) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
                if (DDM._proxy) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
                    host.set(DRAG_NODE, DDM._proxy);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
            Y.Array.each(this._hands, function(v) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
                v.detach();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
            h = DDM.on('ddm:start', Y.bind(function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
                if (DDM.activeDrag === host) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
                    DDM._setFrame(host);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
            }, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
            h1 = DDM.on('ddm:end', Y.bind(function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
                if (host.get('dragging')) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
                    if (this.get('moveOnEnd')) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
                        host.get(NODE).setXY(host.lastXY);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
                    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
                    if (this.get('hideOnEnd')) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
                        host.get(DRAG_NODE).setStyle('display', 'none');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
                    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
                    if (this.get('cloneNode')) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
                        host.get(DRAG_NODE).remove();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
                        host.set(DRAG_NODE, DDM._proxy);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
                    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
            }, this));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
            this._hands = [h, h1];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
        initializer: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
            this._init();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
        destructor: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
            var host = this.get(HOST);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
            Y.Array.each(this._hands, function(v) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
                v.detach();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
            host.set(DRAG_NODE, host.get(NODE));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
        clone: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
            var host = this.get(HOST),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
                n = host.get(NODE),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
                c = n.cloneNode(true);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
            delete c._yuid;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
            c.setAttribute('id', Y.guid());
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
            c.setStyle('position', 'absolute');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
            n.get('parentNode').appendChild(c);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
            host.set(DRAG_NODE, c);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
            return c;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
    Y.namespace('Plugin');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
    Y.extend(P, Y.Base, proto);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
    Y.Plugin.DDProxy = P;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
    //Add a couple of methods to the DDM
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
    Y.mix(DDM, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
        * Create the proxy element if it doesn't already exist and set the DD.DDM._proxy value
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
        * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
        * @for DDM
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
        * @namespace DD
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
        * @method _createFrame
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
        _createFrame: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
            if (!DDM._proxy) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
                DDM._proxy = TRUE;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
                var p = Y.Node.create('<div></div>'),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
                b = Y.one('body');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
                p.setStyles({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
                    position: 'absolute',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
                    display: 'none',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
                    zIndex: '999',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
                    top: '-999px',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
                    left: '-999px'
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
                });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
                b.prepend(p);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
                p.set('id', Y.guid());
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
                p.addClass(DDM.CSS_PREFIX + '-proxy');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
                DDM._proxy = p;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
        },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
        /**
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
        * If resizeProxy is set to true (default) it will resize the proxy element to match the size of the Drag Element.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
        * If positionProxy is set to true (default) it will position the proxy element in the same location as the Drag Element.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
        * @private
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
        * @for DDM
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
        * @namespace DD
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
        * @method _setFrame
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
        */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
        _setFrame: function(drag) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
            var n = drag.get(NODE), d = drag.get(DRAG_NODE), ah, cur = 'auto';
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
            ah = DDM.activeDrag.get('activeHandle');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
            if (ah) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
                cur = ah.getStyle('cursor');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
            if (cur === 'auto') {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
                cur = DDM.get('dragCursor');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
            d.setStyles({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
                visibility: 'hidden',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
                display: 'block',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
                cursor: cur,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
                border: drag.proxy.get('borderStyle')
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
            if (drag.proxy.get('cloneNode')) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
                d = drag.proxy.clone();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
            if (drag.proxy.get('resizeFrame')) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
                d.setStyles({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
                    height: n.get('offsetHeight') + 'px',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
                    width: n.get('offsetWidth') + 'px'
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
                });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
            if (drag.proxy.get('positionProxy')) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
                d.setXY(drag.nodeXY);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
            d.setStyle('visibility', 'visible');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
    //Create the frame when DOM is ready
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
    //Y.on('domready', Y.bind(DDM._createFrame, DDM));
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
}, '3.10.3', {"requires": ["dd-drag"]});