src/cm/media/js/lib/yui/yui3.0.0/examples/overlay/overlay-anim-plugin_clean.html
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 0 40c8f766c9b8
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
<html>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
<head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
<meta http-equiv="content-type" content="text/html; charset=utf-8">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
<title>Animation Plugin</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
    .yui-overlay-content {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
        background-color:#ccc;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
        border:1px solid #000;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
        padding:5px;
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-overlay .yui-widget-hd, 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
    .yui-overlay .yui-widget-bd, 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
    .yui-overlay .yui-widget-ft {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
        background-color:#eee;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
        padding:2px;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
        border:1px solid #999;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
    .yui-overlay .yui-widget-bd {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
        background-color:#fff;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
    } 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
</style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
<!--end custom header content for this example-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
</head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
<body class=" yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
<h1>Animation Plugin</h1>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
<div class="exampleIntro">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
	<p>This example shows how you can use Widget's plugin infrastructure to customize the existing behavior of a widget.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
<p>We create an Animation plugin class for Overlay called <code>AnimPlugin</code> which changes the way Overlay instances are shown/hidden, by fading them in and out. The Overlay is initially constructed with the <code>AnimPlugin</code> plugged in <em>(with the duration set to 2 seconds)</em>.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
Clicking the "Unplug AnimPlugin" button, will restore the original non-Animated Overlay show/hide behavior. Clicking on the "Plug AnimPlugin" button will plug in the <code>AnimPlugin</code> again, but with a shorter duration.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
<div id="overlay">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
    <div class="yui-widget-hd">Overlay Header</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
    <div class="yui-widget-bd">Overlay Body</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
    <div class="yui-widget-ft">Overlay Footer</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
<button type="button" id="show">Show</button>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
<button type="button" id="hide">Hide</button>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
<button type="button" id="unplug">Unplug AnimPlugin</button>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
<button type="button" id="plug">Plug AnimPlugin (duration:0.5)</button>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
<script type="text/javascript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
YUI({base:"../../build/", timeout: 10000}).use("overlay", "anim", "plugin", function(Y) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
    /* Animation Plugin Constructor */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
    function AnimPlugin(config) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
        AnimPlugin.superclass.constructor.apply(this, arguments);
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
    /* 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
     * The namespace for the plugin. This will be the property on the widget, which will 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
     * reference the plugin instance, when it's plugged in
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
    AnimPlugin.NS = "fx";
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
    /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
     * The NAME of the AnimPlugin class. Used to prefix events generated
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
     * by the plugin class.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
    AnimPlugin.NAME = "animPlugin";
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
    /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
     * The default set of attributes for the AnimPlugin class.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
    AnimPlugin.ATTRS = {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
         * Default duration. Used by the default animation implementations
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
        duration : {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
            value: 0.2
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
         * Default animation instance used for showing the widget (opacity fade-in)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
        animVisible : {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
            valueFn : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
		var host = this.get("host");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
                var boundingBox = host.get("boundingBox");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
                var anim = new Y.Anim({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
                    node: boundingBox,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
                    to: { opacity: 1 },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
                    duration: this.get("duration")
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
                });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
                // Set initial opacity, to avoid initial flicker
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
                if (!host.get("visible")) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
                    boundingBox.setStyle("opacity", 0);
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
                // Clean up, on destroy. Where supported, remove
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
                // opacity set using style. Else make 100% opaque
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
                anim.on("destroy", function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
                    if (Y.UA.ie) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
                        this.get("node").setStyle("opacity", 1);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
                    } else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
                        this.get("node").setStyle("opacity", "");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
                    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
                });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
                return anim;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   141
         * Default animation instance used for hiding the widget (opacity fade-out)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   142
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
        animHidden : {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
            valueFn : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
                return new Y.Anim({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
                    node: this.get("host").get("boundingBox"),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
                    to: { opacity: 0 },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   148
                    duration: this.get("duration")
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   149
                });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   150
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   151
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   152
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   153
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   154
    /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   155
     * Extend the base plugin class
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   156
     */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   157
    Y.extend(AnimPlugin, Y.Plugin.Base, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   158
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   159
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   160
         * Initialization code. Called when the 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   161
         * plugin is instantiated (whenever it's 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   162
         * plugged into the host)
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   163
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   164
        initializer : function(config) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   165
            this._bindAnimVisible();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   166
            this._bindAnimHidden();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   167
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   168
            this.after("animVisibleChange", this._bindAnimVisible);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   169
            this.after("animHiddenChange", this._bindAnimHidden);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   170
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   171
            // Override default _uiSetVisible method, with custom animated method
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   172
            this.doBefore("_uiSetVisible", this._uiAnimSetVisible);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   173
        },
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
         * Destruction code. Invokes destroy in the individual animation instances,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   177
         * and lets them take care of cleaning up any state.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   178
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   179
        destructor : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   180
            this.get("animVisible").destroy();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   181
            this.get("animHidden").destroy();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   182
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   183
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   184
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   185
         * The custom animation method, added by the plugin.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   186
         *
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   187
         * This method replaces the default _uiSetVisible handler
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   188
         * Widget provides, by injecting itself before _uiSetVisible,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   189
         * (using Plugins before method) and preventing the default
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   190
         * behavior.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   191
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   192
        _uiAnimSetVisible : function(val) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   193
            if (this.get("host").get("rendered")) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   194
                if (val) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   195
                    this.get("animHidden").stop();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   196
                    this.get("animVisible").run();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   197
                } else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   198
                    this.get("animVisible").stop();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   199
                    this.get("animHidden").run();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   200
                }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   201
                return new Y.Do.Prevent("AnimPlugin prevented default show/hide");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   202
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   203
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   204
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   205
        /*
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   206
         * The original Widget _uiSetVisible implementation
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   207
         */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   208
        _uiSetVisible : function(val) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   209
            var host = this.get("host");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   210
            var hiddenClass = host.getClassName("hidden");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   211
            if (!val) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   212
                host.get("boundingBox").addClass(hiddenClass);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   213
            } else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   214
                host.get("boundingBox").removeClass(hiddenClass);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   215
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   216
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   217
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   218
        /* Sets up call to invoke original visibility handling when the animVisible animation is started */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   219
        _bindAnimVisible : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   220
            var animVisible = this.get("animVisible");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   221
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   222
            // Setup original visibility handling (for show) before starting to animate
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   223
            animVisible.on("start", Y.bind(function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   224
                this._uiSetVisible(true);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   225
            }, this));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   226
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   227
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   228
        /* Sets up call to invoke original visibility handling when the animHidden animation is complete */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   229
        _bindAnimHidden : function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   230
            var animHidden = this.get("animHidden");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   231
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   232
            // Setup original visibility handling (for hide) after completing animation
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   233
            animHidden.after("end", Y.bind(function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   234
                this._uiSetVisible(false);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   235
            }, this));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   236
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   237
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   238
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   239
    // Create a new Overlay instance, and add AnimPlugin with a default duration of 2 seconds
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   240
    var overlay = new Y.Overlay({
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   241
        contentBox: "#overlay",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   242
        width:"10em",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   243
        height:"10em",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   244
        visible:false,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   245
        shim:false,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   246
        align: {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   247
            node: "#show", 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   248
            points: ["tl", "bl"]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   249
        },
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   250
        plugins : [{fn:AnimPlugin, cfg:{duration:2}}]
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   251
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   252
    overlay.render();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   253
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   254
    Y.on("click", function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   255
        overlay.show();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   256
    }, "#show");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   257
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   258
    Y.on("click", function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   259
        overlay.hide();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   260
    }, "#hide");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   261
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   262
    Y.on("click", function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   263
        overlay.unplug("fx");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   264
    }, "#unplug");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   265
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   266
    Y.on("click", function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   267
        overlay.unplug("fx");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   268
        overlay.plug(AnimPlugin, {duration:0.5});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   269
    }, "#plug");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   270
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   271
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   272
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   273
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   274
<!--END SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   275
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   276
</body>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   277
</html>