src/cm/media/js/lib/yui/yui_3.10.3/docs/event-custom/flow-example.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>Example: Custom Event Bubbling and Behaviors</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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
            <h1>Example: Custom Event Bubbling and Behaviors</h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
    <div class="yui3-g">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
        <div class="yui3-u-3-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
            <div id="main">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
                <div class="content"><style type="text/css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
	#fire {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
        margin: 1em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
	#log {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
		border: 1px dotted #999;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
        background-color: #FFF;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
	}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
	#log li {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
        padding: 5px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
	#log li highlight {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
        color: #930;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
</style>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
<div class="intro">
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
        The Custom Event framework is one of the principle communication
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
        mechanisms in YUI.  An object can be augmented with
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
        <code>EventTarget</code>, enabling it to be both a host and a target
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
        for custom events.  Custom events fire from their host and optionally
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
        bubble up to one or more targets.  This allows you to make the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
        interesting moments of your applications broadly available within a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
        module, within a set of modules, or throughout a complex interface
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
        populated with rich elements.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
    </p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
    <p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
        In this example, a simple custom event is illustrated:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
        <code>testEvent</code>.  This custom event is hosted on a Publisher
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
        object and bubbles up to a BubbleTarget object.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
    </p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
    <img src="../assets/event-custom/ce-example.gif"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
        alt="An illustration of the relationship between the custom event, its host, and its Bubble Target.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
    <p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
        Like DOM events, custom event bubbling can be stopped with
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
        <code>e.stopPropagation()</code> and default behavior can be suppressed with
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
        <code>e.preventDefault()</code>.
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
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
<div class="example yui3-skin-sam">
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
        <button id="fire" value="Fire">Fire testEvent</button>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
    </p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
    <div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
        <input type="checkbox" id="stopPropagation">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
            <label for="stopPropagation">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
                Stop Propagation (testEvent won't bubble to the BubbleTarget.)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
            </label>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
    <div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
        <input type="checkbox" id="preventDefault">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
            <label for="preventDefault">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
                Prevent Default (testEvent's <code>defaultFn</code> won't fire.)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
            </label>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
    <ol id="log">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
        <li>Custom Event log messages will appear here.</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
    </ol>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
    <script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
    // Bubbling events are added by the event-custom module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
YUI().use('event-custom', 'node', function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
    var logger          = Y.one("#log");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
        stopCheckbox    = Y.one("#stopPropagation"),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
        preventCheckbox = Y.one("#preventDefault");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
    // We'll create two classes, one to fire the event, and another to be a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
    // bubble target for the other.  All events from the Publisher class can
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
    // then be subscribed from either the Publisher instance or the BubbleTarget
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
    // instance that it's related to.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
    function BubbleTarget() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
        Y.log("BubbleTarget constructor executed.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
    function Publisher(bubbleTo) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
        Y.log("Publisher constructor executed.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
        this.init(bubbleTo); // see class prototype below
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
    // Publishers need to add the provided target to their bubble chain with
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
    // <code>addTarget</code>. We'll do this, and publish an event, in an <code>init</code> method
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
    Publisher.prototype = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
        init: function (bubbleTo) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
            // <code>addTarget</code> is the EventTarget method to register new bubble
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
            // targets for this instance
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
            this.addTarget(bubbleTo);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
            // It's only necessary to publish events with special configuration,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
            // such as default, stop, or prevent behaviors.  You can always
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
            // fire any event name you wish, published or unpublished.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
            this.publish("testEvent", {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
                // Pass an event facade to subscribers so they can call
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
                // e.preventDefault() and other methods.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
                emitFacade: true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
                // An event's default behavior is defined in defaultFn.  This
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
                // will execute unless a subscriber calls <code>e.preventDefault()</code>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
                defaultFn: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
                    Y.log("defaultFn: testEvent's defaultFn executed.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
                },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
                // You can react to subscribers preventing default behavior as
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
                // well, by defining a preventedFn.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
                preventedFn: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
                    Y.log("preventedFn: A subscriber to testEvent called preventDefault().");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
                },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
                // If a subscriber calls <code>e.stopPropagation()</code>, the event won't
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
                // bubble any further, and the stoppedFn will be called if one
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
                // is defined.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
                stoppedFn: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
                    Y.log("stoppedFn: A subscriber to testEvent called stopPropagation().");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
    // To fire events or be a bubble target, augment a class with EventTarget
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
    Y.augment(Publisher, Y.EventTarget);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
    Y.augment(BubbleTarget, Y.EventTarget);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
    // SEE IT IN ACTION
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
    var bubbleTarget = new BubbleTarget();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
    // You can subscribe to the "testEvent" from the BubbleTarget, even before
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
    // a Publisher is created
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
    bubbleTarget.subscribe("testEvent", function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
        Y.log("testEvent fired on the BubbleTarget object.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
    // Create a Publisher instance, and link it to our BubbleTarget
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
    var publisher = new Publisher(bubbleTarget);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
    // We can also subscribe to the testEvent on the Publisher instance.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
    publisher.on("testEvent", function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
        Y.log("testEvent subscriber fired on the publisher object.");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
        if (stopCheckbox.get("checked")) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
            e.stopPropagation();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
        if (preventCheckbox.get("checked")) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
            e.preventDefault();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
        }
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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
    // Wire up the example button to fire the event from our publisher
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
    Y.one("#fire").on("click", function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
        logger.empty(); // clear out the logger:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
        publisher.fire("testEvent");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
    // A little supporting magic to output Y.log() statements to the screen
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
    Y.on("yui:log", function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
        logger.append("<li>" + e.msg + "</li>");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
    </script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
<h2>Source Code</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
    The full source code for this example follows.  Read through the comments
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
    and code to get an understanding of how you can make use of custom events
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
    in your own application development.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
<pre class="code prettyprint">&#x2F;&#x2F; Bubbling events are added by the event-custom module.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
YUI().use(&#x27;event-custom&#x27;, &#x27;node&#x27;, function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
    var logger          = Y.one(&quot;#log&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
        stopCheckbox    = Y.one(&quot;#stopPropagation&quot;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
        preventCheckbox = Y.one(&quot;#preventDefault&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
    &#x2F;&#x2F; We&#x27;ll create two classes, one to fire the event, and another to be a
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
    &#x2F;&#x2F; bubble target for the other.  All events from the Publisher class can
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
    &#x2F;&#x2F; then be subscribed from either the Publisher instance or the BubbleTarget
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
    &#x2F;&#x2F; instance that it&#x27;s related to.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
    function BubbleTarget() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
        Y.log(&quot;BubbleTarget constructor executed.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
    function Publisher(bubbleTo) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
        Y.log(&quot;Publisher constructor executed.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
        this.init(bubbleTo); &#x2F;&#x2F; see class prototype below
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
    &#x2F;&#x2F; Publishers need to add the provided target to their bubble chain with
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
    &#x2F;&#x2F; &#x60;addTarget&#x60;. We&#x27;ll do this, and publish an event, in an &#x60;init&#x60; method
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
    Publisher.prototype = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
        init: function (bubbleTo) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
            &#x2F;&#x2F; &#x60;addTarget&#x60; is the EventTarget method to register new bubble
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
            &#x2F;&#x2F; targets for this instance
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
            this.addTarget(bubbleTo);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
            &#x2F;&#x2F; It&#x27;s only necessary to publish events with special configuration,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
            &#x2F;&#x2F; such as default, stop, or prevent behaviors.  You can always
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
            &#x2F;&#x2F; fire any event name you wish, published or unpublished.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
            this.publish(&quot;testEvent&quot;, {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
                &#x2F;&#x2F; Pass an event facade to subscribers so they can call
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
                &#x2F;&#x2F; e.preventDefault() and other methods.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
                emitFacade: true,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
                &#x2F;&#x2F; An event&#x27;s default behavior is defined in defaultFn.  This
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
                &#x2F;&#x2F; will execute unless a subscriber calls &#x60;e.preventDefault()&#x60;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
                defaultFn: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
                    Y.log(&quot;defaultFn: testEvent&#x27;s defaultFn executed.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
                },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
                &#x2F;&#x2F; You can react to subscribers preventing default behavior as
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
                &#x2F;&#x2F; well, by defining a preventedFn.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
                preventedFn: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
                    Y.log(&quot;preventedFn: A subscriber to testEvent called preventDefault().&quot;);
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
                &#x2F;&#x2F; If a subscriber calls &#x60;e.stopPropagation()&#x60;, the event won&#x27;t
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
                &#x2F;&#x2F; bubble any further, and the stoppedFn will be called if one
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
                &#x2F;&#x2F; is defined.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
                stoppedFn: function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
                    Y.log(&quot;stoppedFn: A subscriber to testEvent called stopPropagation().&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
                }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
    };
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
    &#x2F;&#x2F; To fire events or be a bubble target, augment a class with EventTarget
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
    Y.augment(Publisher, Y.EventTarget);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
    Y.augment(BubbleTarget, Y.EventTarget);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
    &#x2F;&#x2F; SEE IT IN ACTION
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
    var bubbleTarget = new BubbleTarget();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
    &#x2F;&#x2F; You can subscribe to the &quot;testEvent&quot; from the BubbleTarget, even before
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
    &#x2F;&#x2F; a Publisher is created
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
    bubbleTarget.subscribe(&quot;testEvent&quot;, function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
        Y.log(&quot;testEvent fired on the BubbleTarget object.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
    &#x2F;&#x2F; Create a Publisher instance, and link it to our BubbleTarget
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
    var publisher = new Publisher(bubbleTarget);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
    &#x2F;&#x2F; We can also subscribe to the testEvent on the Publisher instance.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
    publisher.on(&quot;testEvent&quot;, function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
        Y.log(&quot;testEvent subscriber fired on the publisher object.&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
        if (stopCheckbox.get(&quot;checked&quot;)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
            e.stopPropagation();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
        if (preventCheckbox.get(&quot;checked&quot;)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
            e.preventDefault();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
    &#x2F;&#x2F; Wire up the example button to fire the event from our publisher
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
    Y.one(&quot;#fire&quot;).on(&quot;click&quot;, function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
        logger.empty(); &#x2F;&#x2F; clear out the logger:
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
        publisher.fire(&quot;testEvent&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
    &#x2F;&#x2F; A little supporting magic to output Y.log() statements to the screen
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
    Y.on(&quot;yui:log&quot;, function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
        logger.append(&quot;&lt;li&gt;&quot; + e.msg + &quot;&lt;&#x2F;li&gt;&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
                            <h2 class="no-toc">Examples</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
                                        <li data-description="Publish an event with a default behavior, as well as behaviors for reacting to preventing the default or stopping bubbling.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
                                            <a href="flow-example.html">Custom Event Bubbling and Behaviors</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
                                        </li>
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
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
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>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
    assets: '../assets/event-custom',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
    name: 'flow-example',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
    title: 'Custom Event Bubbling and Behaviors',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
YUI.Env.Tests.examples.push('flow-example');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
</html>