src/cm/media/js/lib/yui/yui3.0.0/examples/dd/groups-drag_clean.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
<meta http-equiv="content-type" content="text/html; charset=utf-8">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
<title>Interaction Groups</title>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
<style type="text/css">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
/*margin and padding on body element
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
  can introduce errors in determining
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
  element position and are not recommended;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
  we turn them off as a foundation for YUI
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
  CSS treatments. */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
body {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
	margin:0;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
	padding:0;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
</style>
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
<!--there is no custom header content for this example-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
</head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
<body class=" yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
<h1>Interaction Groups</h1>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
<div class="exampleIntro">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
	<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
    33
			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
<style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
.slot {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
    border: 2px solid #808080;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
    background-color: #CDCDCD;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
    color: #666666;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
    text-align: center;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
    position: relative;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
    float: left;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
    margin: 4px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
    width: 60px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
    height: 60px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
    z-index: 0;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
.player {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
    border: 2px solid #808080;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
    color: #ffffff;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
    text-align: center;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
    position: relative;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
    float: left;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
    margin: 4px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
    width: 60px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
    height: 60px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
    top: 150px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
    z-index: 1;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
    cursor: move;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
#pt1 {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
    clear: both;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
.bottom {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
    top: 50px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
#pt1, #pt2 {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
    background-color: #71241A;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
#pb1, #pb2 {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
    background-color: #004C6D;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
#pboth1, #pboth2 {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
    background-color: #FFA928;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
#workarea {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
    position: relative;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
    height: 300px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
    width: 500px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
#workarea .yui-dd-drop-active-valid {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
    border: 2px solid green;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
#workarea .yui-dd-drop-over {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
    background-color: green;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
#workarea .yui-dd-drop-active-invalid {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
    border: 2px solid red;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
</style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
<div id="workarea">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
    <div class="slot" id="t1">1</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
    <div class="slot bottom" id="b1">3</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
    <div class="slot bottom" id="b2">4</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
    <div class="slot bottom" id="b3">5</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
    <div class="slot bottom" id="b4">6</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
    <div class="slot" id="t2">2</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
    <div class="player" id="pt1">1</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
    <div class="player" id="pt2">2</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
    <div class="player" id="pb1">3</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
    <div class="player" id="pb2">4</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
    <div class="player" id="pboth1">5</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
    <div class="player" id="pboth2">6</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
<script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
var config = {base:"../../build/", timeout: 10000};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
config.filter = 'raw';
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
YUI(config).use('dd-drop', 'dd-proxy', 'dd-constrain', function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
    var slots = Y.Node.get('#workarea').queryAll('.slot');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
    Y.each(slots, function(v, k) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
        var id = v.get('id'), groups = ['two'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
        switch (id) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
            case 't1':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
            case 't2':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
                groups = ['one'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
                break;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
        var drop = new Y.DD.Drop({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
            node: v,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
            groups: groups
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
    var players = Y.Node.get('#workarea').queryAll('.player');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
    Y.each(players, function(v, k) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
        var id = v.get('id'), groups = ['one', 'two'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
        switch (id) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   141
            case 'pt1':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   142
            case 'pt2':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
                groups = ['one'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
                break;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
            case 'pb1':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
            case 'pb2':
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
                groups = ['two'];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   148
                break;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   149
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   150
        var drag = new Y.DD.Drag({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   151
            node: v,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   152
            groups: groups,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   153
            dragMode: 'intersect'
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   154
        }).plug(Y.Plugin.DDProxy, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   155
            moveOnEnd: false
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   156
        }).plug(Y.Plugin.DDConstrained, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   157
            constrain2node: '#workarea'
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   158
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   159
        drag.on('drag:start', function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   160
            var p = this.get('dragNode'),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   161
                n = this.get('node');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   162
                n.setStyle('opacity', .25);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   163
                if (!this._playerStart) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   164
                    this._playerStart = this.nodeXY;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   165
                }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   166
            p.set('innerHTML', n.get('innerHTML'));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   167
            p.setStyles({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   168
                backgroundColor: n.getStyle('backgroundColor'),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   169
                color: n.getStyle('color'),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   170
                opacity: .65
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   171
            });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   172
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   173
        drag.on('drag:end', function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   174
            var n = this.get('node');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   175
            n.setStyle('opacity', '1');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   176
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   177
        drag.on('drag:drophit', function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   178
            var xy = e.drop.get('node').getXY();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   179
            this.get('node').setXY(xy, Y.UA.ie);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   180
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   181
        drag.on('drag:dropmiss', function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   182
            if (this._playerStart) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   183
                this.get('node').setXY(this._playerStart, Y.UA.ie);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   184
                this._playerStart = null;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   185
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   186
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   187
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   188
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   189
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   190
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   191
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   192
<!--END SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   193
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   194
</body>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   195
</html>