src/cm/media/js/lib/yui/yui_3.0.0b1/examples/attribute/attribute-event.html
author raph
Mon, 23 Nov 2009 15:14:29 +0100
changeset 0 40c8f766c9b8
permissions -rw-r--r--
import from internal svn r 4007
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: Attribute: Change Events</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
<link type="text/css" rel="stylesheet" href="../../build/cssfonts/fonts-min.css" />
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
<script type="text/javascript" src="../../build/yui/yui-min.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
<style type="text/css">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
    #example-out .entry {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
        font-family:courier;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
        margin-top:2px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
    #example-out .header {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
        font-weight:bold;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
        font-family:arial;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
        color:#8dd5e7;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
        margin-top:10px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
        margin-bottom:3px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
    #example-out {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
        margin:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
        border:1px solid #000;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
        color:#ffffff;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
        background-color:#004c6d;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
        overflow:auto;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
        height:20em;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
        width:30em;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
        padding-left:2px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
    .attrs {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
        width:30em;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
        border:1px solid #000;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
        background-color:#cdcdcd;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
        margin:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
    .attrs .header {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
        font-weight:bold;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
        background-color:#aaa;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
        padding:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
    .attrs .body {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
        padding:10px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
    .attrs .footer {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
        padding:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
    .attrs label {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
        display:block;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
        float:left;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
        clear:left;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
        font-weight:bold;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
        width:8em;
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
<script type="text/javascript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
    YUI.namespace("example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
    YUI.example.print = function(msg, cl) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
        var o = document.getElementById("example-out");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
        if (o) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
            cl = cl || "";
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
            o.innerHTML += '<div class="entry ' + cl + '">' + msg + '</div>';
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
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
</head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
<body id="yahoo-com" class=" yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
<div id="custom-doc" class="yui-t2">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
<div id="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
	<div id="ygunav">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
		<p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
            <em>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
                <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
    92
            </em>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
		</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
		<form action="http://search.yahoo.com/search" id="sitesearchform">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
            <input name="vs" type="hidden" value="developer.yahoo.com">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
            <input name="vs" type="hidden" value="yuiblog.com">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
		    <div id="sitesearch">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
		    	<label for="searchinput">Site Search (YDN &amp; YUIBlog): </label>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
			    <input type="text" id="searchinput" name="p">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
			    <input type="submit" value="Search" id="searchsubmit" class="ygbt">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
		    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
		</form>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
	<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
   105
	<div id="pagetitle"><h1>YUI Library Examples: Attribute: Change Events</h1></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
<div id="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
	<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
   110
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
	<div id="yui-main">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
		<div class="yui-b">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
		  <div class="yui-ge">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
			  <div class="yui-u first example" id="main">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
	<h2>Attribute: Change Events</h2>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
	<div id="example" class="promo">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
	<p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
	Attribute change events are one of the key benefits of using attributes to maintain state for your objects, instead of regular object properties. This example shows how you can listen for attribute change events and work with the event payload they receive. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
	</p>	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
	<div class="module example-container ">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
			<div class="hd exampleHd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
			<p class="newWindowButton yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
                <a href="attribute-event_clean.html" target="_blank">View example in new window.</a>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
            </p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
		</div>		<div id="example-canvas" class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
	<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
	<div class="attrs">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
    <div class="header">Enter a new value and click the "Change Value" button:</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
    <div class="body">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
        <p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
            <label for="attrSel">Attribute</label>: 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
            <select id="attrSel">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
                <option value="foo">foo</option>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
                <option value="bar">bar</option>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   141
                <option value="foobar">foobar (change will be prevented)</option>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   142
            </select>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
        </p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
        <p><label for="currentVal">Current Value</label>: <span id="currentVal"></span></p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
        <p><label for="newVal">New Value</label>: <input type="text" id="newVal" /></p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
    <div class="footer">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   148
        <button type="button" id="changeValue">Change Value</button>
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
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   151
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   152
<div id="example-out"></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   153
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   154
<script type="text/javascript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   155
// Get a new YUI instance 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   156
YUI({base:"../../build/", timeout: 10000}).use("node", "attribute", function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   157
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   158
    // Shortcut to print (unrelated to example)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   159
    var print = YUI.example.print;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   160
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   161
    // Setup a custom class with attribute support
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   162
    function MyClass(cfg) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   163
        this.addAttrs(Y.merge(MyClass.ATTRIBUTES), cfg);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   164
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   165
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   166
    // Setup attribute configuration
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   167
    MyClass.ATTRIBUTES = {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   168
        "foo" : {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   169
            value:5
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   170
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   171
 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   172
        "bar" : {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   173
            value:"Hello World!"
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   174
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   175
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   176
        "foobar" : {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   177
            value:true
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   178
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   179
    };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   180
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   181
    Y.augment(MyClass, Y.Attribute);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   182
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   183
    var o1 = new MyClass();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   184
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   185
    function printEvt(event) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   186
        print("event.prevVal : " + event.prevVal);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   187
        print("event.newVal : " + event.newVal);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   188
        print("event.attrName : " + event.attrName);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   189
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   190
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   191
    // Start Form Handling
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   192
    var attrSel = Y.Node.get("#attrSel");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   193
    var attrOpts = attrSel.get("options");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   194
    var newValTxt = Y.Node.get("#newVal");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   195
    var currentValSpan = Y.Node.get("#currentVal");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   196
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   197
    function updateVal() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   198
        var selIndex = attrSel.get("selectedIndex");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   199
        var attr = attrOpts.item(selIndex).get("value");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   200
        o1.set(attr, newValTxt.get("value"));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   201
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   202
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   203
    Y.on("click", updateVal, "#changeValue");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   204
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   205
    function populateCurrentValue() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   206
        var selIndex = attrSel.get("selectedIndex");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   207
        var attr = attrOpts.item(selIndex).get("value");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   208
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   209
        currentValSpan.set("innerHTML", o1.get(attr));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   210
        newValTxt.set("value", "");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   211
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   212
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   213
    populateCurrentValue();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   214
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   215
    Y.on("change", populateCurrentValue, attrSel);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   216
    // End Form Handling
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   217
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   218
    // Event Listners
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   219
    o1.after("fooChange", function(event) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   220
        print("after fooChange", "header");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   221
        printEvt(event);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   222
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   223
        currentValSpan.set("innerHTML", event.newVal);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   224
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   225
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   226
    o1.after("barChange", function(event) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   227
        print("after barChange", "header");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   228
        printEvt(event);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   229
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   230
        currentValSpan.set("innerHTML", event.newVal);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   231
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   232
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   233
    o1.on("foobarChange", function(event) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   234
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   235
        // Calling preventDefault, in an "on" listener
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   236
        // will prevent the attribute change from occuring
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   237
        // and the after listener being called
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   238
        print("on foobarChange (prevented)", "header");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   239
        event.preventDefault();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   240
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   241
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   242
    o1.after("foobarChange", function(event) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   243
        // This will never get called, because we're
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   244
        // calling preventDefault in the "on" listener
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   245
        print("after foobarChange", "header");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   246
        printEvt(event);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   247
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   248
        currentValSpan.set("innerHTML", event.newVal);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   249
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   250
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   251
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   252
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   253
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   254
	<!--END SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   255
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   256
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   257
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   258
	</div>			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   259
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   260
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   261
	<h3>Listening For Attribute Change Events</h3>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   262
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   263
<p>In this example, we'll look at how you can setup listeners for attribute change events, and work with the event payload which the listeners receive.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   264
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   265
<h4>Setting Up A Custom Class With Attribute</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   266
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   267
<p>We start by setting up the same custom class we created for the <a href="attribute-basic.html">basic example</a> with 3 attributes <code>foo</code>, <code>bar</code> and <code>foobar</code>, using the code below:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   268
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   269
<textarea name="code" class="JScript" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   270
YUI().use("attribute", "node", function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   271
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   272
    // Setup a custom class with attribute support
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   273
    function MyClass(cfg) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   274
        this.addAttrs(Y.merge(MyClass.ATTRIBUTES), cfg);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   275
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   276
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   277
    // Setup attribute configuration
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   278
    MyClass.ATTRIBUTES = {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   279
        "foo" : {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   280
            value:5
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   281
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   282
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   283
        "bar" : {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   284
            value:"Hello World!"
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   285
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   286
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   287
        "foobar" : {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   288
            value:true
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
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   292
    Y.augment(MyClass, Y.Attribute);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   293
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   294
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   295
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   296
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   297
<h4>Registering Event Listeners</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   298
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   299
<p>Once we have an instance of the custom class, we can use the <code>on</code> and <code>after</code> methods provided by Attribute, to listen for changes in the value of each of the attributes:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   300
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   301
<textarea name="code" class="JScript" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   302
    var o1 = new MyClass();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   303
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   304
    ...
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   305
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   306
    // Event Listners
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   307
    o1.after("fooChange", function(event) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   308
        print("after fooChange", "header");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   309
        printEvt(event);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   310
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   311
        currentValSpan.set("innerHTML", event.newVal);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   312
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   313
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   314
    o1.after("barChange", function(event) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   315
        print("after barChange", "header");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   316
        printEvt(event);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   317
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   318
        currentValSpan.set("innerHTML", event.newVal);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   319
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   320
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   321
    o1.on("foobarChange", function(event) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   322
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   323
        // Calling preventDefault, in an "on" listener
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   324
        // will prevent the attribute change from occurring
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   325
        // and the after listener being called
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   326
        print("on foobarChange (prevented)", "header");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   327
        event.preventDefault();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   328
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   329
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   330
    o1.after("foobarChange", function(event) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   331
        // This will never get called, because we're
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   332
        // calling preventDefault in the "on" listener
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   333
        print("after foobarChange", "header");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   334
        printEvt(event);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   335
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   336
        currentValSpan.set("innerHTML", event.newVal);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   337
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   338
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   339
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   340
<p>As seen in the above code, the event type for attribute change events is created by concatenating the attribute name with <code>"Change"</code> (e.g. <code>"fooChange"</code>), and this event type is used for both the <code>on</code> and <code>after</code> subscription methods. Whenever an attribute value is changed through Attribute's <code>set</code> method, both "on" and "after" subscribers are notified.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   341
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   342
<h4>On vs. After</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   343
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   344
<p><strong>on :</strong> Subscribers to the "on" moment, will be notified <em>before</em> any actual state change has occurred. This provides the opportunity to prevent the state change from occurring, using the <code>preventDefault</code> method of the event facade object passed to the subscriber. If you use <code>get</code> to retrieve the value of the attribute in an "on" subscriber, you will receive the current, unchanged value. However the event facade provides access to the value which the attribute is being set to, through it's <code>newVal</code> property.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   345
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   346
<p><strong>after :</strong> Subscribers to the "after" moment, will be notified <em>after</em> the attribute's state has been updated. This provides the opportunity to update state in other parts of your application, in response to a change in the attribute's state.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   347
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   348
<p>Based on the definition above, <code>after</code> listeners are not invoked if state change is prevented, for example, due to one of the <code>on</code> listeners calling <code>preventDefault</code> on the event object, as is done in the <code>on</code> listener for the <code>foobar</code> attribute:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   349
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   350
<textarea name="code" class="JScript" cols="60" rows="1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   351
    o1.on("foobarChange", function(event) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   352
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   353
        // Calling preventDefault, in an "on" listener
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   354
        // will prevent the attribute change from occurring
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   355
        // and prevent the after listeners from being called
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   356
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   357
        print("on foobarChange (change prevented)", "header");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   358
        event.preventDefault();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   359
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   360
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   361
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   362
<p>The <code>after</code> listeners will also not be invoked if there is no change in the actual value of the attribute. That is, if the new value of the attribute is identical to the current value (based on the identity operator, <code>===</code>), the <code>after</code> listeners will not be notified because there is no change in state. You can see this, by setting an attribute to the same value twice in a row.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   363
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   364
<h4>Event Facade</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   365
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   366
<p>The event object (an instance of <a href="../../api/EventFacade.html">EventFacade</a>) passed to attribute change event subscribers, has the following interesting properties and methods related to attribute management:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   367
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   368
<dl>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   369
    <dt>newVal</dt>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   370
    <dd>The value which the attribute will be set to (in the case of "on" subscribers), or has been set to (in the case of "after" subscribers</dd>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   371
    <dt>prevVal</dt>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   372
    <dd>The value which the attribute is currently set to (in the case of "on" subscribers), or was previously set to (in the case of "after" subscribers</dd>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   373
    <dt>attrName</dt>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   374
    <dd>The name of the attribute which is being set</dd>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   375
    <dt>subAttrName</dt>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   376
    <dd>Attribute also allows you to set nested properties of attributes which have values which are objects through the 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   377
    <code>set</code> method (e.g. <code>o1.set("x.y.z")</code>). This property will contain the path to the property which was changed.</dd>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   378
    <dt>preventDefault()<dt>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   379
    <dd>This method can be called in an "on" subscriber to prevent the attribute's value from being updated (the default behavior). Calling this method in an "after" listener has no impact, since the default behavior has already been invoked.</dd>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   380
    <dt>stopImmediatePropagation()</dt>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   381
    <dd>This method can be called in "on" or "after" subscribers, and will prevent the rest of the subscriber stack from
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   382
    being invoked, but will not prevent the attribute's value from being updated.</dd>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   383
</dl>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   384
				</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   385
				<div class="yui-u sidebar">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   386
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   387
				
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   388
					<div id="examples" class="mod box4">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   389
                        <div class="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   390
						<h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   391
    Attribute Examples:</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   392
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   393
						<div class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   394
							<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   395
								<li><a href='../attribute/attribute-basic.html'>Basic Configuration</a></li><li class='selected'><a href='../attribute/attribute-event.html'>Change Events</a></li><li><a href='../attribute/attribute-getset.html'>Getters, Setters and Validators</a></li><li><a href='../attribute/attribute-rw.html'>readOnly and writeOnce Configuration</a></li>							</ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   396
						</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   397
					</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   398
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   399
					<div class="mod box4">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   400
                        <div class="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   401
						<h4>More Attribute Resources:</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   402
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   403
                        <div class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   404
						<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   405
							<!-- <li><a href="http://developer.yahoo.com/yui/attribute/">User's Guide</a> (external)</li> -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   406
						<li><a href="../../api/module_attribute.html">API Documentation</a></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   407
</ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   408
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   409
					</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   410
			  </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   411
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   412
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   413
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   414
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   415
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   416
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   417
<div class="yui-b toc3" id="tocWrapper">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   418
<!-- TABLE OF CONTENTS -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   419
<div id="toc">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   420
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   421
<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   422
<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="selected "><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="item"><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
   423
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   424
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   425
	</div><!--closes bd-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   426
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   427
	<div id="ft">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   428
        <p class="first">Copyright &copy; 2009 Yahoo! Inc. All rights reserved.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   429
        <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
   430
            <a href="http://docs.yahoo.com/info/terms/">Terms of Service</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   431
            <a href="http://docs.yahoo.com/info/copyright/copyright.html">Copyright Policy</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   432
            <a href="http://careers.yahoo.com/">Job Openings</a></p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   433
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   434
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   435
<script src="../../assets/dpSyntaxHighlighter.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   436
<script language="javascript"> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   437
dp.SyntaxHighlighter.HighlightAll('code'); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   438
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   439
</body>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   440
</html>