src/cm/media/js/lib/yui/yui3.0.0/examples/widget/widget-build_clean.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
<meta http-equiv="content-type" content="text/html; charset=utf-8">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
<title>Creating custom widget classes</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
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
<!--begin custom header content for this example-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
<style type="text/css">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
/* Standard Module Widget CSS */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
.yui-standardmodule-hidden {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
    display:none;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
.yui-standardmodule {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
    margin:10px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
.yui-standardmodule-content {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
    padding:3px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
    border:1px solid #666;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
.yui-standardmodule-content .yui-widget-hd {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
    padding:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
    border:2px solid #aa0000;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
    background-color:#fff;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
    overflow:auto;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
.yui-standardmodule-content .yui-widget-bd {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
    padding:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
    border:2px solid #0000aa;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
    background-color:#fff;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
    overflow:auto;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
.yui-standardmodule-content .yui-widget-ft {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
    padding:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
    border:2px solid #00aa00;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
    background-color:#fff;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
    overflow:auto;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
/* Positionable Widget CSS */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
.yui-positionable {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
    position:absolute;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
.yui-positionable-content {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
    text-align:center;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
    border:1px solid #000;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
    background-color:#999966;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
    color:#fff;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
    padding:10px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
.yui-positionable-hidden {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
    visibility:hidden;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
/* Alignable Widget CSS */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
.yui-alignable {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
    position:absolute;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
.yui-alignable-content {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
    text-align:center;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
    border:1px solid #000000;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
    background-color:#004C6D;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
    color:#fff;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
    padding:2px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
.yui-alignable-hidden {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
    visibility:hidden;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
/* Example Layout CSS */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
.widget-build-example {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
    border:1px solid #000;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
    background-color:#eee;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
    padding:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
    margin:10px 0;
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
.widget-build-example button, .widget-build-example label, .widget-build-example select, .widget-build-example input {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
    margin-right:5px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
.widget-build-example button.fail {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
    color:#cc0000;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
    margin-left:10px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
.widget-build-example .filler {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
    color:#999;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
#x, #y {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
    width:3em;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
#widget2-example, #widget3-example {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
    height:15em;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
#widget2-example select, #widget3-example select {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
    width:100%;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
#alignment p {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
    color:#dddd00;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
</style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
<!--end custom header content for this example-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
</head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
<body class=" yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
<h1>Creating custom widget classes</h1>
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="exampleIntro">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
	This example shows how you can mix and match the <code>WidgetPostion</code>, <code>WidgetPositionExt</code>, <code>WidgetStack</code> and <code>WidgetStdMod</code> extensions to build custom versions of the <code>Widget</code> class, using <code>Base.build</code>.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   148
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   149
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   150
<ol>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   151
    <li><code>Widget</code> with <code>WidgetStdMod</code>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   152
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   153
        <div class="widget-build-example" id="widget1-example">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   154
            <input type="text" id="content" value="">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   155
            <select id="section">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   156
                <option value="header">Header</option>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   157
                <option value="body">Body</option>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   158
                <option value="footer">Footer</option>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   159
            </select>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   160
            <button type="button" id="setContent">Set Content</button>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   161
            <button type="button" class="fail" id="tryMove">move() (should fail)</button>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   162
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   163
            <div id="widget1">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   164
                <div class="yui-widget-hd">Module Header</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   165
                <div class="yui-widget-bd">Module Body</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   166
                <div class="yui-widget-ft">Module Footer</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   167
            </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   168
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   169
            <p class="filler">Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc pretium quam eu mi varius pulvinar. Duis orci arcu, ullamcorper sit amet, luctus ut, interdum ac, quam.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   170
        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   171
    </li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   172
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   173
    <li><code>Widget</code> with <code>WidgetPosition, WidgetStack</code>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   174
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   175
        <div class="widget-build-example" id="widget2-example">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   176
            <label>X: <input type="text" id="x" value="0" ></label>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   177
            <label>Y: <input type="text" id="y" value="0" ></label>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   178
            <button type="button" id="move">Move</button>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   179
            <button type="button" class="fail" id="tryContent">setStdModContent() (should fail)</button>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   180
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   181
            <div id="widget2"><strong>Positionable Widget</strong></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   182
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   183
            <p class="filler">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   184
                <select>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   185
                    <option>Prevent IE6 Bleedthrough</option>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   186
                </select>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   187
                Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc pretium quam eu mi varius pulvinar. Duis orci arcu, ullamcorper sit amet, luctus ut, interdum ac, quam. Pellentesque euismod. Nam tincidunt, purus in ultrices congue, urna neque posuere arcu, aliquam tristique purus sapien id nulla. Etiam rhoncus nulla at leo. Cras scelerisque nisl in nibh. Sed eget odio. Morbi elit elit, porta a, convallis sit amet, rhoncus non, felis. Mauris nulla pede, pretium eleifend, porttitor at, rutrum id, orci. Quisque non urna. Nulla aliquam rhoncus est. 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   188
            </p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   189
        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   190
    </li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   191
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   192
    <li><code>Widget</code> with <code>WidgetPosition, WidgetStack, WidgetPositionExt</code></strong>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   193
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   194
        <div class="widget-build-example" id="widget3-example">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   195
            <button type="button" id="run">Run Through Alignment</button>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   196
            <p class="filler">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   197
                <select>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   198
                    <option>Prevent IE6 Bleedthrough</option>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   199
                </select>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   200
                Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc pretium quam eu mi varius pulvinar. Duis orci arcu, ullamcorper sit amet, luctus ut, interdum ac, quam. Pellentesque euismod. Nam tincidunt, purus in ultrices congue, urna neque posuere arcu, aliquam tristique purus sapien id nulla. Etiam rhoncus nulla at leo. Cras scelerisque nisl in nibh. Sed eget odio. Morbi elit elit, porta a, convallis sit amet, rhoncus non, felis. Mauris nulla pede, pretium eleifend, porttitor at, rutrum id, orci. Quisque non urna. Nulla aliquam rhoncus est.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   201
            </p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   202
        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   203
    </li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   204
</ol>
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
<script type="text/javascript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   208
YUI({base:"../../build/", timeout: 10000}).use("widget", "widget-position", "widget-stack", "widget-position-ext", "widget-stdmod", "async-queue", function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   209
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   210
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   211
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   212
    // WIDGET 1 : Build Widget with StdMod, but no positioning/stacking support.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   213
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   214
    var StandardModule = Y.Base.build("standardModule", Y.Widget, [Y.WidgetStdMod]);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   215
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   216
    var stdmod = new StandardModule({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   217
        contentBox: "#widget1",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   218
        width:"12em",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   219
        height:"12em"
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   220
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   221
    stdmod.render();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   222
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   223
    var contentInput = Y.one("#content");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   224
    var sectionInput = Y.one("#section");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   225
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   226
    Y.on("click", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   227
        var content = contentInput.get("value");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   228
        var section = sectionInput.get("value");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   229
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   230
        stdmod.setStdModContent(section, content);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   231
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   232
    }, "#setContent");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   233
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   234
    Y.on("click", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   235
        try {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   236
            stdmod.move([0,0]);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   237
        } catch (e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   238
            alert("move() is " + typeof stdmod.move + ", stdmod.hasImpl(Y.WidgetPosition) : " + stdmod.hasImpl(Y.WidgetPosition));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   239
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   240
    }, "#tryMove");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   241
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   242
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   243
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   244
    // WIDGET 2: Build Widget with Position support and Stack support, but no StdMod support or Position Extras support.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   245
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   246
    var Positionable = Y.Base.build("positionable", Y.Widget, [Y.WidgetPosition, Y.WidgetStack]);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   247
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   248
    var positionable = new Positionable({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   249
        contentBox: "#widget2",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   250
        width:"10em",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   251
        zIndex:1
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   252
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   253
    positionable.render("#widget2-example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   254
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   255
    var xy = Y.one("#widget2-example > p").getXY();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   256
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   257
    positionable.move(xy[0], xy[1]);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   258
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   259
    var xInput = Y.one("#x");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   260
    var yInput = Y.one("#y");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   261
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   262
    xInput.set("value", Math.round(xy[0]));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   263
    yInput.set("value", Math.round(xy[1]));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   264
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   265
    Y.on("click", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   266
        var x = parseInt(xInput.get("value"));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   267
        var y = parseInt(yInput.get("value"));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   268
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   269
        positionable.move(x,y);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   270
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   271
    }, "#move");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   272
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   273
    Y.on("click", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   274
        try {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   275
            positionable.setStdModContent("header", "new content");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   276
        } catch (e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   277
            alert("setStdModContent() is " + typeof positionable.setStdModContent + ", positionable.hasImpl(Y.WidgetStdMod) : " + positionable.hasImpl(Y.WidgetStdMod));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   278
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   279
    }, "#tryContent");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   280
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
    // WIDGET 3: Build Widget with Position, PositionExt and Stack support, but no StdMod support.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   284
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   285
    var Alignable = Y.Base.build("alignable", Y.Widget, [Y.WidgetPosition, Y.WidgetPositionExt, Y.WidgetStack]);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   286
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   287
    var alignable = new Alignable({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   288
        width:"13em",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   289
        align : {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   290
            node: "#widget3-example",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   291
            points: ["cc", "cc"]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   292
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   293
        zIndex:1
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   294
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   295
    alignable.get("contentBox").set("innerHTML", '<strong>Alignable Widget</strong><div id="alignment"><p>#widget3-example</p><p>[center, center]</p></div>');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   296
    alignable.render("#widget3-example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   297
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   298
    Y.on('click', function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   299
        var stepDelay = 2500;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   300
        var currAlignment = Y.one("#alignment");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   301
        var steps = [
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   302
            function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   303
                alignable.set("align", {node:"#widget3-example", points:["lc", "rc"]});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   304
                currAlignment.set("innerHTML", "<p>#widget3-example</p><p>[left-center, right-center]</p>");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   305
            },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   306
            function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   307
                alignable.set("align", {node:"#widget3-example", points:["tr", "br"]});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   308
                currAlignment.set("innerHTML", "<p>#widget3-example</p><p>[top-right, bottom-right]</p>");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   309
            },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   310
            function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   311
                alignable.set("centered", "#widget3-example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   312
                currAlignment.set("innerHTML", "<p>#widget3-example</p><p>centered</p>");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   313
            },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   314
            function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   315
                alignable.set("align", {points:["rc", "rc"]});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   316
                currAlignment.set("innerHTML", "<p>viewport</p><p>[right-center, right-center]</p>");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   317
            },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   318
            function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   319
                alignable.set("centered", true);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   320
                currAlignment.set("innerHTML", "<p>viewport</p><p>centered</p>");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   321
            },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   322
            function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   323
                alignable.set("align", {node:"#widget3-example", points:["cc", "cc"]});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   324
                currAlignment.set("innerHTML", "<p>#widget3-example</p><p>[center, center]</p>");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   325
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   326
        ];
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   327
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   328
        var q = new Y.AsyncQueue();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   329
        for (var i = 0; i < steps.length; i++){
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   330
            q.add({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   331
                timeout: (i === 0) ? 0 : stepDelay,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   332
                fn:steps[i]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   333
            });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   334
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   335
        q.run();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   336
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   337
    }, "#run");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   338
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   339
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   340
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   341
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   342
<!--END SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   343
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   344
</body>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   345
</html>