src/cm/media/js/lib/yui/yui_3.10.3/docs/plugin/index.html
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
<!DOCTYPE html>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
<html lang="en">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
<head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
    <meta charset="utf-8">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
    <title>Plugin</title>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic,700italic">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
    <link rel="stylesheet" href="../../build/cssgrids/cssgrids-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
    <link rel="stylesheet" href="../assets/css/main.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
    <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
    <link rel="shortcut icon" type="image/png" href="../assets/favicon.png">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
    <script src="../../build/yui/yui-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
</head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
<body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
<!--
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
<a href="https://github.com/yui/yui3"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
-->
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
<div id="doc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
    <div id="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
        <h1><img src="http://yuilibrary.com/img/yui-logo.png"></h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
        <a href="#toc" class="jump">Jump to Table of Contents</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
            <h1>Plugin</h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
    <div class="yui3-g">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
        <div class="yui3-u-3-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
            <div id="main">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
                <div class="content"><div class="intro">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
    <p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
    Plugins allow you to unobtrusively add functionality to objects (referred to as the "host" object) such as nodes and widgets. 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    Plugins can inherit from the <code>Plugin.Base</code> class, but this is not a hard requirement as we'll see later.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
    </p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
    <p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
    Plugins are used to add atomic pieces of functionality or features to component instances (hosts), without having  to bake support or even 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
    knowledge of the feature into the component class. This allows features to be mixed and matched per component instance, without having to build all 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
    features into a monolithic component class or having to ship multiple versions of the component class with varying combinations of features.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
    </p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
<h2 id="getting-started">Getting Started</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
To include the source files for Plugin and its dependencies, first load
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
the YUI seed file if you haven't already loaded it.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
<pre class="code prettyprint">&lt;script src=&quot;http:&#x2F;&#x2F;yui.yahooapis.com&#x2F;3.10.3&#x2F;build&#x2F;yui&#x2F;yui-min.js&quot;&gt;&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
Next, create a new YUI instance for your application and populate it with the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
modules you need by specifying them as arguments to the <code>YUI().use()</code> method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
YUI will automatically load any dependencies required by the modules you
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
specify.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
<pre class="code prettyprint">&lt;script&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
&#x2F;&#x2F; Create a new YUI instance and populate it with the required modules.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
YUI().use(&#x27;plugin&#x27;, function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
    &#x2F;&#x2F; Plugin is available and ready for use. Add implementation
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
    &#x2F;&#x2F; code here.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
For more information on creating YUI instances and on the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
<a href="http://yuilibrary.com/yui/docs/api/classes/YUI.html#method_use"><code>use()</code> method</a>, see the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
documentation for the <a href="../yui/index.html">YUI Global Object</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
<h2 id="using">Creating Plugins</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
<h3 id="simple">Simple Plugins</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
For the most basic plugins, which don't have any events or attributes of their own, and which don't modify the behavior
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
of the host by listening for any host events, or overriding any of the host's methods, plugins can simply be basic JavaScript classes.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
The only requirement for the class is that it has a static namespace property <code>NS</code> with a value assigned to it. 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
The value of the <code>NS</code> property is used to define the property on the host instance which will refer to 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
the plugin when it's plugged into the host.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
When plugins are plugged into a host instance a new instance of the plugin is created, 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
and a reference to the host is added to the configuration object passed to the plugin's constructor, 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
so that the plugin has a way to reference the host object. (similarly, when plugins are unplugged from a host 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
object they are destroyed).
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
<p>So, putting this all together, a simple plugin class may look something like the following:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
<pre class="code prettyprint">&#x2F;&#x2F; This AnchorPlugin is designed to be added to Node instances (the host will be a Node instance)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
function AnchorPlugin(config) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
    &#x2F;&#x2F; Hold onto the host instance (a Node in this case), 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
    &#x2F;&#x2F; for other plugin methods to use.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
    this._node = config.host;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
&#x2F;&#x2F; When plugged into a node instance, the plugin will be 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
&#x2F;&#x2F; available on the &quot;anchors&quot; property.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
AnchorPlugin.NS = &quot;anchors&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
AnchorPlugin.prototype = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
    disable: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
        var node = this._node;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
        var anchors = node.queryAll(&quot;a&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
        anchors.addClass(&quot;disabled&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
        anchors.setAttribute(&quot;disabled&quot;, true);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
};</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
<p>To use the <code>AnchorPlugin</code>, the user would plug it into a Node reference they were holding on to:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
<pre class="code prettyprint">var container = Y.one(&quot;div.actions&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
container.plug(AnchorPlugin);</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
<p>And invoke methods on the plugin, through the namespace it is bound to:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
<pre class="code prettyprint">container.anchors.disable();</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
<h3 id="advanced">Advanced Plugins</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
<p>For basic features, simple plugin classes as described above may suffice. However, when you have more complex features which you'd like to encapsulate, the ability to use 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
attributes and events for your plugin implementation becomes useful. More importantly, for many plugins, you'll be looking to modify the default 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
behavior of the host instance in some way (for example an Animation Plugin may want to change the default show/hide behavior of a Widget, to be animated).</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
<p>For these richer plugins, you should extend the base plugin class <a href="http://yuilibrary.com/yui/docs/api/Plugin.Base.html"><code>Plugin.Base</code></a>. </p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
<p><code>Plugin</code> is a subclass of <code>Base</code>, thereby providing managed attributes, lifecycle methods, and custom event support. Additionally it allows the plugin code to 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
either listen for and react to events fired by the host or inject custom logic before or after methods invoked on the host object (through the YUI 3 <a href="http://yuilibrary.com/yui/docs/api/Do.html">AOP</a> infrastructure).
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
<code>Plugin.Base</code> also sets up <code>host</code> as an attribute, so you can access it through <code>this.get(&quot;host&quot;)</code> in your plugin implementation code.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
<h4 id="extendingplugin">Extending Plugin.Base</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
<p>You can extend the <code>Plugin.Base</code> class, just as you would extend the <a href="../base/index.html"><code>Base</code></a> class. One thing to note when comparing this to simple plugins 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
is that the host reference is automatically set up as an attribute by the <code>Plugin.Base</code> class, so a reference to it does not need to be set up explicitly.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
<p>The class structure for an advanced plugin follows the pattern for all classes derived from Base, with the addition of the <code>NS</code> property to define
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
the namespace for the plugin (see the <a href="../base/index.html">Base</a> documentation for details about NAME and ATTRS).</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
<pre class="code prettyprint">&#x2F;&#x2F; A plugin class designed to animate Widget&#x27;s show and hide methods.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
function WidgetAnimPlugin(config) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
    WidgetAnimPlugin.superclass.constructor.apply(this, arguments);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
&#x2F;&#x2F; Define Static properties NAME (to identify the class) and NS (to identify the namespace)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
WidgetAnimPlugin.NAME = &#x27;widgetAnimPlugin&#x27;;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
WidgetAnimPlugin.NS = &#x27;fx&#x27;;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
&#x2F;&#x2F; Attribute definitions for the plugin
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
WidgetAnimPlugin.ATTRS = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
    animHidden : {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
        ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
    animVisible: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
        ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
&#x2F;&#x2F; Extend Plugin.Base
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
Y.extend(WidgetAnimPlugin, Y.Plugin.Base, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
    &#x2F;&#x2F; Add any required prototype methods
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
<p>The plugin class structure described above is captured in this <a href="../assets/plugin/myplugin.js.txt">"MyPlugin" Template File</a>, which you can use as a starting point to create your own plugins derived from <code>Plugin.Base</code>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
<h4 id="pluginlisteners">Plugin Listeners</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
<p>The main value obtained by extending <code>Plugin.Base</code> is the ability to react to events fired by the host  
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
using <code>Plugin.Base</code>'s <a href="http://yuilibrary.com/yui/docs/api/Plugin.Base.html#method_onHostEvent"><code>onHostEvent</code></a> and <a href="http://yuilibrary.com/yui/docs/api/Plugin.Base.html#method_afterHostEvent"><code>afterHostEvent</code></a> methods, or 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
modify methods on the host, using <a href="http://yuilibrary.com/yui/docs/api/Plugin.Base.html#method_beforeHostMethod"><code>beforeHostMethod</code></a> and <a href="http://yuilibrary.com/yui/docs/api/Plugin.Base.html#method_afterHostMethod"><code>afterHostMethod</code></a>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
<p>The value of doing this through the above <code>Plugin.Base</code> methods as opposed to working with the host directly, is that any listeners added by the plugin using the above methods are removed when the plugin is unplugged. 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
This is important. Plugins should clean up after themselves when unplugged from the host.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
<h5 id="events">Events</h5>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
<p>As mentioned, plugins which derive from <code>Plugin.Base</code> have the ability to listen for events on the host object and react to them.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
<p>For example, all widgets fire a <code>render</code> event when they are rendered. Your widget-specific plugin may need to know when this occurs, 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
so that it can inject custom elements into the markup the host renders. It can do this through the <code>afterHostEvent</code> method:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
<pre class="code prettyprint">&#x2F;&#x2F; A plugin which introduces rounded corners to a widget.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
function RoundedCornersPlugin(config) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
    &#x2F;&#x2F;...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
RoundedCornersPlugin.NAME = &#x27;roundedCornersPlugin&#x27;;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
RoundedCornersPlugin.NS = &#x27;corners&#x27;;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
Y.extend(RoundedCornersPlugin, Y.Plugin.Base, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
    &#x2F;&#x2F; Automatically called by Base, during construction
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
    initializer: function(config) { 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
         &#x2F;&#x2F; &quot;render&quot; is a widget event 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
        this.afterHostEvent(&#x27;render&#x27;, this.insertCornerElements);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
    insertCornerElements: function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
        var widget = this.get(&quot;host&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
        var boundingBox = widget.get(&quot;boundingBox&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
        var tl = Y.Node.create(TL_TEMPLATE);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
        &#x2F;&#x2F;...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
        boundingBox.appendChild(tlNode);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
        boundingBox.appendChild(trNode);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
        boundingBox.appendChild(blNode);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
        boundingBox.appendChild(brNode);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
<h5 id="methods">Methods</h5>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
<p>In some cases, your plugin may need to override the logic in the host class' methods. The <code>beforeHostMethod</code> and <code>afterHostMethod</code> methods provided by <code>Plugin.Base</code> 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
allow you to insert custom plugin logic before or after a method is executed on the host object.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
<p>For example, to animate the way a widget is shown or hidden, we may need to override the method
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
which actually flips the visibility style attribute on the widget's bounding box and replace it with an animated opacity implementation, 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
as shown below:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
<pre class="code prettyprint">&#x2F;&#x2F; A plugin class designed to animate Widget&#x27;s show and hide methods.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
function WidgetAnimPlugin(config) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
    &#x2F;&#x2F;...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
WidgetAnimPlugin.NAME = &#x27;widgetAnimPlugin&#x27;;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
WidgetAnimPlugin.NS = &#x27;fx&#x27;;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
WidgetAnimPlugin.ATTRS = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
    animHidden : {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
        &#x2F;&#x2F;...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
    animVisible: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
        &#x2F;&#x2F;...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
&#x2F;&#x2F; Extend Plugin.Base, and override the default
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
&#x2F;&#x2F; method _uiSetVisible, used by Widget to flip the visibility
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
Y.extend(WidgetAnimPlugin, Y.Plugin.Base, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
    initializer : function(config) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
        &#x2F;&#x2F; Override Widget&#x27;s _uiSetVisible method, with the custom animated method
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
        this.beforeHostMethod(&quot;_uiSetVisible&quot;, this._uiAnimSetVisible);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
    _uiAnimSetVisible : function(show) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
        &#x2F;&#x2F; Instead of flipping visibility, use the animation
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
        &#x2F;&#x2F; instances configured for the plugin to animate
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
        &#x2F;&#x2F; hide&#x2F;show.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
        if (this.get(&quot;host&quot;).get(&quot;rendered&quot;)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
            if (show) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
                this.get(&quot;animHidden&quot;).stop();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
                this.get(&quot;animVisible&quot;).run();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
            } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
                this.get(&quot;animVisible&quot;).stop();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
                this.get(&quot;animHidden&quot;).run();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
            &#x2F;&#x2F; Prevent the default method from being invoked.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
            return new Y.Do.Prevent();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
                    <div id="toc" class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
                            <h2 class="no-toc">Table of Contents</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
                            <ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
<a href="#getting-started">Getting Started</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
<a href="#using">Creating Plugins</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
<a href="#simple">Simple Plugins</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
<a href="#advanced">Advanced Plugins</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
<a href="#extendingplugin">Extending Plugin.Base</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
<a href="#pluginlisteners">Plugin Listeners</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
<ul class="toc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
<a href="#events">Events</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
<li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
<a href="#methods">Methods</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
</ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
                            <h2 class="no-toc">Examples That Use This Component</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
                                        <li data-description="Shows how to create a simple plugin to retrieve content for the Overlay using the io utility.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
                                            <a href="../overlay/overlay-io-plugin.html">IO Plugin</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
                                        <li data-description="Shows how to create a simple plugin to animate the Overlay&#x27;s movement and visibility.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
                                            <a href="../overlay/overlay-anim-plugin.html">Animation Plugin</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
                                        <li data-description="Shows how to create an IO plugin for Widget.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
                                            <a href="../widget/widget-plugin.html">Creating a Widget Plugin</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
    assets: '../assets/plugin',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
    name: 'plugin',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
    title: 'Plugin',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
YUI.Env.Tests.examples.push('overlay-io-plugin');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
YUI.Env.Tests.examples.push('overlay-anim-plugin');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
YUI.Env.Tests.examples.push('widget-plugin');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   398
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
</html>