src/cm/media/js/lib/yui/yui_3.0.0b1/examples/dd/groups-drag.html
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 0 40c8f766c9b8
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
<html>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
<head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
	<title>YUI Library Examples: Drag &amp; Drop: Interaction Groups</title>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
    	<link rel="stylesheet" type="text/css" href="../../assets/yui.css" >
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
<style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
    /*Supplemental CSS for the YUI distribution*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
    #custom-doc { width: 95%; min-width: 950px; }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
    #pagetitle {background-image: url(../../assets/bg_hd.gif);}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
/*    #pagetitle h1 {background-image: url(../../assets/title_h_bg.gif);}*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
</style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
<link rel="stylesheet" type="text/css" href="../../assets/dpSyntaxHighlighter.css">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
<!--there is no custom header content for this example-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
<link type="text/css" rel="stylesheet" href="../../build/cssfonts/fonts-min.css" />
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
<script type="text/javascript" src="../../build/yui/yui-min.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
</head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
<body id="yahoo-com" class=" yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
<div id="custom-doc" class="yui-t2">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
<div id="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
	<div id="ygunav">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
		<p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
            <em>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
                <a href="http://developer.yahoo.com/yui/3/">YUI 3.x Home</a> <i> - </i>	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
            </em>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
		</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
		<form action="http://search.yahoo.com/search" id="sitesearchform">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
            <input name="vs" type="hidden" value="developer.yahoo.com">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
            <input name="vs" type="hidden" value="yuiblog.com">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
		    <div id="sitesearch">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
		    	<label for="searchinput">Site Search (YDN &amp; YUIBlog): </label>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
			    <input type="text" id="searchinput" name="p">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
			    <input type="submit" value="Search" id="searchsubmit" class="ygbt">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
		    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
		</form>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
	<div id="ygma"><a href="../../"><img src="../../assets/logo.gif"  border="0" width="200" height="93"></a></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
	<div id="pagetitle"><h1>YUI Library Examples: Drag &amp; Drop: Interaction Groups</h1></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
<div id="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
	<div id="bar-note"><p><strong>Note:</strong> This is YUI 3.x. Looking for <a href="http://developer.yahoo.com/yui/">YUI 2.x</a>?</p></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
	<div id="yui-main">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
		<div class="yui-b">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
		  <div class="yui-ge">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
			  <div class="yui-u first example" id="main">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
	<h2>Drag &amp; Drop: Interaction Groups</h2>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
	<div id="example" class="promo">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
	<p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
	<p>Using interaction groups, this example demonstrates how to tie into the Drag &amp; Drop Utility's interesting moments to provide visual affordances for the current drag operation.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
	</p>	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
	<div class="module example-container ">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
			<div class="hd exampleHd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
			<p class="newWindowButton yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
                <a href="groups-drag_clean.html" target="_blank">View example in new window.</a>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
            </p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
		</div>		<div id="example-canvas" class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
	<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
	<style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
.slot {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
    border: 2px solid #808080;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
    background-color: #CDCDCD;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
    color: #666666;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
    text-align: center;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
    position: relative;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
    float: left;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
    margin: 4px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
    width: 60px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
    height: 60px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
    z-index: 0;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
.player {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
    border: 2px solid #808080;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
    color: #ffffff;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
    text-align: center;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
    position: relative;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
    float: left;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
    margin: 4px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
    width: 60px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
    height: 60px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
    top: 150px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
    z-index: 1;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
    cursor: move;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
#pt1 {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
    clear: both;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
.bottom {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
    top: 50px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
#pt1, #pt2 {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
    background-color: #71241A;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
#pb1, #pb2 {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
    background-color: #004C6D;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
#pboth1, #pboth2 {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
    background-color: #FFA928;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
#workarea {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
    position: relative;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
    height: 300px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
    width: 500px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
#workarea .yui-dd-drop-active-valid {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
    border: 2px solid green;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
#workarea .yui-dd-drop-over {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
    background-color: green;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
#workarea .yui-dd-drop-active-invalid {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
    border: 2px solid red;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
</style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
<div id="workarea">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
    <div class="slot" id="t1">1</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
    <div class="slot bottom" id="b1">3</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
    <div class="slot bottom" id="b2">4</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
    <div class="slot bottom" id="b3">5</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
    <div class="slot bottom" id="b4">6</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
    <div class="slot" id="t2">2</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   141
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   142
    <div class="player" id="pt1">1</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
    <div class="player" id="pt2">2</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
    <div class="player" id="pb1">3</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
    <div class="player" id="pb2">4</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
    <div class="player" id="pboth1">5</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
    <div class="player" id="pboth2">6</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   148
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   149
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   150
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   151
<script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   152
var config = {base:"../../build/", timeout: 10000};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   153
config.filter = 'debug';
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   154
YUI(config).use('dd-drop', 'dd-proxy', 'dd-constrain', function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   155
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   156
    var slots = Y.Node.get('#workarea').queryAll('.slot');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   157
    Y.each(slots, function(v, k) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   158
        var id = v.get('id'), groups = ['two'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   159
        switch (id) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   160
            case 't1':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   161
            case 't2':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   162
                groups = ['one'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   163
                break;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   164
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   165
        var drop = new Y.DD.Drop({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   166
            node: v,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   167
            groups: groups
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   168
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   169
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   170
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   171
    var players = Y.Node.get('#workarea').queryAll('.player');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   172
    Y.each(players, function(v, k) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   173
        var id = v.get('id'), groups = ['one', 'two'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   174
        switch (id) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   175
            case 'pt1':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   176
            case 'pt2':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   177
                groups = ['one'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   178
                break;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   179
            case 'pb1':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   180
            case 'pb2':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   181
                groups = ['two'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   182
                break;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   183
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   184
        var drag = new Y.DD.Drag({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   185
            node: v,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   186
            groups: groups,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   187
            dragMode: 'intersect'
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   188
        }).plug(Y.Plugin.DDProxy, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   189
            moveOnEnd: false
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   190
        }).plug(Y.Plugin.DDConstrained, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   191
            constrain2node: '#workarea'
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   192
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   193
        drag.on('drag:start', function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   194
            var p = this.get('dragNode'),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   195
                n = this.get('node');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   196
                n.setStyle('opacity', .25);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   197
                if (!this._playerStart) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   198
                    this._playerStart = this.nodeXY;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   199
                }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   200
            p.set('innerHTML', n.get('innerHTML'));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   201
            p.setStyles({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   202
                backgroundColor: n.getStyle('backgroundColor'),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   203
                color: n.getStyle('color'),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   204
                opacity: .65
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   205
            });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   206
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   207
        drag.on('drag:end', function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   208
            var n = this.get('node');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   209
            n.setStyle('opacity', '1');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   210
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   211
        drag.on('drag:drophit', function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   212
            var xy = e.drop.get('node').getXY();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   213
            this.get('node').setXY(xy);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   214
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   215
        drag.on('drag:dropmiss', function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   216
            if (this._playerStart) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   217
                this.get('node').setXY(this._playerStart);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   218
                this._playerStart = null;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   219
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   220
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   221
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   222
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   223
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   224
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   225
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   226
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   227
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   228
	<!--END SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   229
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   230
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   231
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   232
	</div>			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   233
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   234
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   235
	<h3>Setting up the Work Area</h3>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   236
<p>First we need to create the work area, players (drags) and slots (drops).</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   237
<textarea name="code" class="HTML">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   238
<div id="workarea">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   239
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   240
    <div class="slot" id="t1">1</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   241
    <div class="slot bottom" id="b1">3</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   242
    <div class="slot bottom" id="b2">4</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   243
    <div class="slot bottom" id="b3">5</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   244
    <div class="slot bottom" id="b4">6</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   245
    <div class="slot" id="t2">2</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   246
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   247
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   248
    <div class="player" id="pt1">1</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   249
    <div class="player" id="pt2">2</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   250
    <div class="player" id="pb1">3</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   251
    <div class="player" id="pb2">4</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   252
    <div class="player" id="pboth1">5</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   253
    <div class="player" id="pboth2">6</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   254
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   255
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   256
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   257
<p>Now we give them some CSS to make them visible.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   258
<textarea name="code" class="CSS">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   259
.slot {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   260
    border: 2px solid #808080;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   261
    background-color: #CDCDCD;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   262
    color: #666666;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   263
    text-align: center;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   264
    position: relative;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   265
    float: left;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   266
    margin: 4px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   267
    width: 60px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   268
    height: 60px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   269
    z-index: 0;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   270
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   271
.player {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   272
    border: 2px solid #808080;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   273
    color: #ffffff;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   274
    text-align: center;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   275
    position: relative;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   276
    float: left;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   277
    margin: 4px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   278
    width: 60px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   279
    height: 60px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   280
    top: 150px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   281
    z-index: 1;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   282
    cursor: move;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   283
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   284
#pt1 {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   285
    clear: both;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   286
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   287
.bottom {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   288
    top: 50px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   289
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   290
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   291
#pt1, #pt2 {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   292
    background-color: #71241A;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   293
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   294
#pb1, #pb2 {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   295
    background-color: #004C6D;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   296
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   297
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   298
#pboth1, #pboth2 {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   299
    background-color: #FFA928;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   300
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   301
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   302
#workarea {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   303
    position: relative;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   304
    height: 300px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   305
    width: 500px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   306
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   307
#workarea .yui-dd-drop-active-valid {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   308
    border: 2px solid green;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   309
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   310
#workarea .yui-dd-drop-over {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   311
    background-color: green;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   312
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   313
#workarea .yui-dd-drop-active-invalid {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   314
    border: 2px solid red;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   315
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   316
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   317
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   318
<h4>Setting up the YUI Instance</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   319
<p>Now we need to create our YUI instance and tell it to load the <code>dd-drop</code>, <code>dd-proxy</code> and <code>dd-constrain</code> modules.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   320
<textarea name="code" class="JScript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   321
YUI().use('dd-drop', 'dd-proxy', 'dd-constrain');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   322
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   323
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   324
<h4>Setting up the Drop Targets</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   325
<p>Now that we have a YUI instance with the requested modules, we are going to create our Drop Targets.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   326
<textarea name="code" class="JScript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   327
YUI().use('dd-drop', 'dd-proxy', 'dd-constrain', function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   328
    //Get all the nodes with the class of .slot under #workarea
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   329
    var slots = Y.Node.get('#workarea').queryAll('.slot');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   330
    //Loop through them
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   331
    Y.each(slots, function(v, k) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   332
        var id = v.get('id'), groups = ['two'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   333
        //Assign them to different groups
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   334
        switch (id) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   335
            case 't1':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   336
            case 't2':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   337
                groups = ['one'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   338
                break;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   339
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   340
        //Create the Drop object
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   341
        var drop = new Y.DD.Drop({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   342
            node: v,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   343
            //With the new groups array as a config option
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   344
            groups: groups
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   345
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   346
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   347
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   348
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   349
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   350
<h4>Setting up the Drag Nodes</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   351
<p>Now we need to create the Drag Nodes and assign them to the proper group.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   352
<textarea name="code" class="JScript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   353
YUI().use('dd-drop', 'dd-proxy', 'dd-constrain', function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   354
    //Snipped
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   355
    var players = Y.Node.get('#workarea').queryAll('.player');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   356
    Y.each(players, function(v, k) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   357
        var id = v.get('id'), groups = ['one', 'two'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   358
        switch (id) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   359
            case 'pt1':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   360
            case 'pt2':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   361
                groups = ['one'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   362
                break;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   363
            case 'pb1':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   364
            case 'pb2':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   365
                groups = ['two'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   366
                break;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   367
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   368
        var drag = new Y.DD.Drag({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   369
            node: v,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   370
            //Assign the Groups
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   371
            groups: groups,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   372
            //Use Intersect Mode for the Target Calculations
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   373
            dragMode: 'intersect',
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   374
        }).plug(Y.Plugin.DDProxy, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   375
            //We don't want the node to move on end drag
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   376
            moveOnEnd: false
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   377
        }).plug(Y.Plugin.DDConstrained, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   378
            //Keep me inside the workarea
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   379
            constrain2node: '#workarea'
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   380
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   381
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   382
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   383
<h4>Handling the Drops and Moments</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   384
<p>Now we are going to listen for Four Drag Events: <code>drag:start, drag:end, drag:drophit, drag:dropmiss</code></p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   385
<textarea name="code" class="JScript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   386
drag.on('drag:start', function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   387
    //In this event we setup some styles to make the nodes look pretty
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   388
    var p = this.get('dragNode'),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   389
        n = this.get('node');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   390
        n.setStyle('opacity', .25);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   391
        if (!this._playerStart) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   392
            this._playerStart = this.nodeXY;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   393
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   394
    //Put the Drag's HTML inside the proxy
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   395
    p.set('innerHTML', n.get('innerHTML'));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   396
    //set some styles on the proxy
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   397
    p.setStyles({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   398
        backgroundColor: n.getStyle('backgroundColor'),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   399
        color: n.getStyle('color'),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   400
        opacity: .65
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   401
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   402
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   403
drag.on('drag:end', function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   404
    //Undo some of the styles from the start
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   405
    var n = this.get('node');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   406
    n.setStyle('opacity', '1');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   407
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   408
drag.on('drag:drophit', function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   409
    //If we drop on a target, move to its position
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   410
    var xy = e.drop.get('node').getXY();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   411
    this.get('node').setXY(xy);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   412
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   413
drag.on('drag:dropmiss', function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   414
    //If we miss a target, move back to our start position
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   415
    if (this._playerStart) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   416
        this.get('node').setXY(this._playerStart);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   417
        this._playerStart = null;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   418
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   419
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   420
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   421
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   422
<h4>Full Javascript Code</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   423
<textarea name="code" class="JScript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   424
YUI({base:"../../build/", timeout: 10000}).use('dd-drop', 'dd-proxy', 'dd-constrain', function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   425
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   426
    var slots = Y.Node.get('#workarea').queryAll('.slot');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   427
    Y.each(slots, function(v, k) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   428
        var id = v.get('id'), groups = ['two'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   429
        switch (id) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   430
            case 't1':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   431
            case 't2':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   432
                groups = ['one'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   433
                break;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   434
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   435
        var drop = new Y.DD.Drop({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   436
            node: v,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   437
            groups: groups
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   438
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   439
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   440
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   441
    var players = Y.Node.get('#workarea').queryAll('.player');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   442
    Y.each(players, function(v, k) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   443
        var id = v.get('id'), groups = ['one', 'two'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   444
        switch (id) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   445
            case 'pt1':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   446
            case 'pt2':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   447
                groups = ['one'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   448
                break;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   449
            case 'pb1':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   450
            case 'pb2':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   451
                groups = ['two'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   452
                break;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   453
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   454
        var drag = new Y.DD.Drag({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   455
            node: v,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   456
            groups: groups,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   457
            dragMode: 'intersect'
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   458
        }).plug(Y.Plugin.DDProxy, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   459
            moveOnEnd: false
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   460
        }).plug(Y.Plugin.DDConstrained, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   461
            constrain2node: '#workarea'
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   462
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   463
        drag.on('drag:start', function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   464
            var p = this.get('dragNode'),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   465
                n = this.get('node');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   466
                n.setStyle('opacity', .25);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   467
                if (!this._playerStart) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   468
                    this._playerStart = this.nodeXY;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   469
                }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   470
            p.set('innerHTML', n.get('innerHTML'));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   471
            p.setStyles({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   472
                backgroundColor: n.getStyle('backgroundColor'),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   473
                color: n.getStyle('color'),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   474
                opacity: .65
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   475
            });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   476
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   477
        drag.on('drag:end', function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   478
            var n = this.get('node');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   479
            n.setStyle('opacity', '1');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   480
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   481
        drag.on('drag:drophit', function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   482
            var xy = e.drop.get('node').getXY();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   483
            this.get('node').setXY(xy);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   484
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   485
        drag.on('drag:dropmiss', function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   486
            if (this._playerStart) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   487
                this.get('node').setXY(this._playerStart);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   488
                this._playerStart = null;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   489
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   490
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   491
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   492
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   493
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   494
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   495
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   496
				</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   497
				<div class="yui-u sidebar">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   498
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   499
				
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   500
					<div id="examples" class="mod box4">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   501
                        <div class="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   502
						<h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   503
    Drag &amp; Drop Examples:</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   504
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   505
						<div class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   506
							<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   507
								<li><a href='../dd/simple-drag.html'>Simple Drag</a></li><li><a href='../dd/drag-plugin.html'>Drag Node Plugin</a></li><li><a href='../dd/proxy-drag.html'>Proxy Drag</a></li><li><a href='../dd/constrained-drag.html'>Drag Constrained to a Region</a></li><li class='selected'><a href='../dd/groups-drag.html'>Interaction Groups</a></li><li><a href='../dd/shim-drag.html'>Using the Drag Shim</a></li><li><a href='../dd/anim-drop.html'>Animated Drop Targets</a></li><li><a href='../dd/drop-code.html'>Drop Based Coding</a></li><li><a href='../dd/winscroll.html'>Window Scrolling</a></li><li><a href='../dd/list-drag.html'>List reorder w/Bubbling</a></li><li><a href='../dd/scroll-list.html'>List reorder w/Scrolling</a></li><li><a href='../dd/portal-drag.html'>Portal Style Example</a></li><li><a href='../dd/photo-browser.html'>Photo Browser</a></li>							</ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   508
						</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   509
					</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   510
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   511
					<div class="mod box4">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   512
                        <div class="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   513
						<h4>More Drag &amp; Drop Resources:</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   514
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   515
                        <div class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   516
						<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   517
							<!-- <li><a href="http://developer.yahoo.com/yui/dd/">User's Guide</a> (external)</li> -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   518
						<li><a href="../../api/module_dd.html">API Documentation</a></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   519
</ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   520
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   521
					</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   522
			  </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   523
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   524
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   525
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   526
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   527
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   528
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   529
<div class="yui-b toc3" id="tocWrapper">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   530
<!-- TABLE OF CONTENTS -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   531
<div id="toc">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   532
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   533
<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   534
<li class="sect first">YUI 3.x Project</li><li class="item"><a title="The Yahoo! User Interface (YUI) Library, 3.x Branch, " href="http://developer.yahoo.com/yui/3/">YUI 3 Web Site (external)</a></li><li class="item"><a title="Examples of every YUI utility and control in action" href="../../examples/">YUI 3 Examples</a></li><li class="item"><a title="Instantly searchable API documentation for the entire YUI library." href="../../api/">YUI 3 API Docs</a></li><li class="item"><a title="The YUI Library can be downloaded from SourceForge" href="http://sourceforge.net/projects/yui/">YUI 3 on Sourceforge (external)</a></li><li class="item"><a title="YUI is free and open, offered under a BSD license." href="http://developer.yahoo.com/yui/3/license.html">YUI License (external)</a></li><li class="sect">YUI 3 Core - Examples</li><li class="item"><a title="YUI (Global Prerequisite) - Functional Examples" href="../../examples/yui/index.html">YUI (Global Prerequisite)</a></li><li class="item"><a title="Event - Functional Examples" href="../../examples/event/index.html">Event</a></li><li class="item"><a title="Node - Functional Examples" href="../../examples/node/index.html">Node</a></li><li class="sect">YUI 3 Component Infrastructure - Examples</li><li class="item"><a title="Attribute - Functional Examples" href="../../examples/attribute/index.html">Attribute</a></li><li class="item"><a title="Plugin - Functional Examples" href="../../examples/plugin/index.html">Plugin</a></li><li class="item"><a title="Widget - Functional Examples" href="../../examples/widget/index.html">Widget</a></li><li class="sect">YUI 3 Utilities - Examples</li><li class="item"><a title="Animation - Functional Examples" href="../../examples/anim/index.html">Animation</a></li><li class="item"><a title="Cache - Functional Examples" href="../../examples/cache/index.html">Cache</a></li><li class="item"><a title="Cookie - Functional Examples" href="../../examples/cookie/index.html">Cookie</a></li><li class="item"><a title="DataSchema - Functional Examples" href="../../examples/dataschema/index.html">DataSchema</a></li><li class="item"><a title="DataSource - Functional Examples" href="../../examples/datasource/index.html">DataSource</a></li><li class="item"><a title="DataType - Functional Examples" href="../../examples/datatype/index.html">DataType</a></li><li class="selected "><a title="Drag &amp; Drop - Functional Examples" href="../../examples/dd/index.html">Drag &amp; Drop</a></li><li class="item"><a title="Get - Functional Examples" href="../../examples/get/index.html">Get</a></li><li class="item"><a title="History - Functional Examples" href="../../examples/history/index.html">History</a></li><li class="item"><a title="ImageLoader - Functional Examples" href="../../examples/imageloader/index.html">ImageLoader</a></li><li class="item"><a title="IO - Functional Examples" href="../../examples/io/index.html">IO</a></li><li class="item"><a title="JSON (JavaScript Object Notation) - Functional Examples" href="../../examples/json/index.html">JSON</a></li><li class="item"><a title="Queue - Functional Examples" href="../../examples/queue/index.html">Queue</a></li><li class="item"><a title="Stylesheet - Functional Examples" href="../../examples/stylesheet/index.html">Stylesheet</a></li><li class="sect">YUI 3 Widgets - Examples</li><li class="item"><a title="Overlay - Functional Examples" href="../../examples/overlay/index.html">Overlay</a></li><li class="item"><a title="Slider - Functional Examples" href="../../examples/slider/index.html">Slider</a></li><li class="sect">YUI 3 Node Plugins - Examples</li><li class="item"><a title="FocusManager Node Plugin - Functional Examples" href="../../examples/node-focusmanager/index.html">FocusManager Node Plugin</a></li><li class="item"><a title="MenuNav Node Plugin - Functional Examples" href="../../examples/node-menunav/index.html">MenuNav Node Plugin</a></li><li class="sect">YUI 3 CSS - Examples</li><li class="item"><a title="YUI CSS Reset - Functional Examples" href="../../examples/cssreset/index.html">CSS Reset</a></li><li class="item"><a title="YUI Fonts - Functional Examples" href="../../examples/cssfonts/index.html">CSS Fonts</a></li><li class="item"><a title="YUI Base - Functional Examples" href="../../examples/cssbase/index.html">CSS Base</a></li><li class="sect">YUI 3 Developer Tools - Examples</li><li class="item"><a title="Console - Functional Examples" href="../../examples/console/index.html">Console</a></li><li class="item"><a title="Profiler - Functional Examples" href="../../examples/profiler/index.html">Profiler</a></li><li class="item"><a title="Test - Functional Examples" href="../../examples/test/index.html">Test</a></li><li class="sect">The YUI Community</li><li class="item"><a title="The Yahoo! User Interface Blog" href="http://yuiblog.com">YUI Blog (external)</a></li><li class="item"><a title="The Yahoo! Group YDN-JavaScript hosts the YUI community forum" href="http://tech.groups.yahoo.com/group/ydn-javascript/">YUI Forum (external)</a></li><li class="item"><a title="The Yahoo! Group yui3 is dedicated to the 3.x branch of the Yahoo! User Interface (YUI) Library." href="http://tech.groups.yahoo.com/group/yui3/">YUI 3 Forum (external)</a></li><li class="item"><a title="YUI is used by Yahoo! and by hundreds of other sites, including many you know and love." href="/yui/poweredby/">YUI Sightings (external)</a></li><li class="item"><a title="Videos and podcasts from the YUI Team and from the Yahoo! frontend engineering community." href="http://developer.yahoo.com/yui/theater/">YUI Theater (external)</a></li><li class="sect">YUI Articles on the YUI Website</li><li class="item"><a title="Answers to Frequently Asked Questions about the YUI Library" href="http://developer.yahoo.com/yui/articles/faq/">YUI FAQ (external)</a></li><li class="item"><a title="Yahoo!'s philosophy of Graded Browser Support" href="http://developer.yahoo.com/yui/articles/gbs/">Graded Browser Support (external)</a></li><li class="item"><a title="Reporting Bugs and Making Feature Requests for YUI Components" href="http://developer.yahoo.com/yui/articles/reportingbugs/">Bug Reports/Feature Requests (external)</a></li><li class="item"><a title="Serve YUI source files from Yahoo! -- free, fast, and simple" href="http://developer.yahoo.com/yui/3/articles/hosting/">Serving YUI Files from Yahoo! (external)</a></li></ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   535
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   536
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   537
	</div><!--closes bd-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   538
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   539
	<div id="ft">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   540
        <p class="first">Copyright &copy; 2009 Yahoo! Inc. All rights reserved.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   541
        <p><a href="http://privacy.yahoo.com/privacy/us/devel/index.html">Privacy Policy</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   542
            <a href="http://docs.yahoo.com/info/terms/">Terms of Service</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   543
            <a href="http://docs.yahoo.com/info/copyright/copyright.html">Copyright Policy</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   544
            <a href="http://careers.yahoo.com/">Job Openings</a></p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   545
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   546
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   547
<script src="../../assets/dpSyntaxHighlighter.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   548
<script language="javascript"> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   549
dp.SyntaxHighlighter.HighlightAll('code'); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   550
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   551
</body>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   552
</html>