src/cm/media/js/lib/yui/yui_3.10.3/docs/async-queue/queue-app.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: Building a UI with AsyncQueue</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: Building a UI with AsyncQueue</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 scoped>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
    #init {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
        margin-top: 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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    #demo .yui3-module {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
        position: relative;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
        width: 28em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
    #demo .yui3-module .yui3-hd,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
    #demo .yui3-module .yui3-bd,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
    #demo .yui3-module .yui3-ft {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
        margin: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
        padding: 1ex 1em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
    #demo .yui3-module .yui3-hd {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
        background: #406ED9;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
    #demo .yui3-module .yui3-hd h4 {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
        color: #fff;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
        margin: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
    #demo .yui3-module .yui3-bd {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
        background: #ABCEFF;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
        border-left: 1px solid #7A97BB;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
        border-right: 1px solid #7A97BB;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
        height: 5em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
        padding-top: 4.5em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
        position: relative;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
        overflow: hidden;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
        text-align: center;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
    #demo .yui3-module .yui3-ft {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
        background: #fff;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
        border: 1px solid #7A97BB;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
        border-top-color: #ccc;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
        padding-right: 25px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
    #demo .yui3-module .yui3-status {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
        margin: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
        padding: 0 25px 0 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
        height: 1.3em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
    #demo .yui3-module .yui3-nav {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
        background: #fff;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
        border-bottom: 1px solid #ccc;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
        left: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
        padding: .5em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
        position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
        width: 27em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
    #demo .yui3-module .yui3-nav ul,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
    #demo .yui3-module .yui3-nav li {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
        list-style: none;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
        margin: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
        padding: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
    #demo .yui3-module .yui3-nav a {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
        color: #ffa928;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
    #demo .yui3-module .working {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
        background: #fff url(http://l.yimg.com/a/i/nt/ic/ut/bsc/busyarr_1.gif) no-repeat 26em 50%;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
</style>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
<div class="intro">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
    <p>This example illustrates how to break up the initial rendering of an application UI into queued code chunks, yielding back to the browser regularly to draw portions of the UI as they become ready.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
<p><em>Note</em>: This method should be reserved for apps constructing complex DOM structures.  While the DOM structure contained in this example is not complex, some artificial delays are injected to simulate process-intensive operations that would normally cause such delays.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
<div class="example yui3-skin-sam">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
<div id="demo">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
    <p>The module will be inserted here.  <em>Click the button below</em>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
<button id="init">Initialize Application</button>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
<script type="text/javascript">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
YUI().use("node", "transition","async-queue", function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
var MyApp = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
    NAME : 'Asynchronous Queue Demo',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
    q : new Y.AsyncQueue(),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
    nodes : {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
        root    : null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
        status  : null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
        nav     : null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
        content : null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
        foot    : null
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
    render : function (container) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
        if (MyApp.nodes.root) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
            MyApp.q.stop();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
        // artificial delays have been inserted to simulate _renderNav or
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
        // _renderContent being process intensive and taking a while to complete
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
        MyApp.q.add(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
            // pass the container param to the callback using Y.bind
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
            Y.bind(MyApp._renderFramework, MyApp, container),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
            {fn: function () {}, timeout: 700}, // artificial delay
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
            MyApp._renderNav,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
            {fn: function () {}, timeout: 700}, // artificial delay
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
            MyApp._renderContent).run();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
    setStatus : function (message,working) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
        MyApp.nodes.status.setHTML(message);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
        MyApp.nodes.foot[working?'addClass':'removeClass']('working');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
    _renderFramework : function (container) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
        var root = MyApp.nodes.root = Y.one(container);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
        root.setHTML(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
        '<div class="yui3-module">'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
            '<div class="yui3-hd">'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
                '<h4>'+MyApp.NAME+'</h4>'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
            '</div>'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
            '<div class="yui3-bd">'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
                '<div class="yui3-nav"></div>'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
                '<div class="yui3-content"></div>'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
            '</div>'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
            '<div class="yui3-ft">'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
                '<p class="yui3-status"></p>'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
            '</div>'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
        '</div>');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
        MyApp.nodes.status  = root.one('p.yui3-status');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
        MyApp.nodes.nav     = root.one('.yui3-nav');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
        MyApp.nodes.content = root.one('.yui3-content');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
        MyApp.nodes.foot    = root.one('.yui3-ft');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
        MyApp.nodes.nav.setStyle('top','-30px');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
        MyApp.nodes.content.setStyle('opacity',0);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
        MyApp.setStatus('Loading...',true);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
    _renderNav : function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
        var nav = MyApp.nodes.nav;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
        nav.append(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
            '<ul class="yui3-g">'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
                '<li class="yui3-u-1-4"><a href="#">Nav Lorem</a></li>'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
                '<li class="yui3-u-1-4"><a href="#">Nav Ipsum</a></li>'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
                '<li class="yui3-u-1-4"><a href="#">Nav Dolor</a></li>'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
                '<li class="yui3-u-1-4"><a href="#">Nav Sit</a></li>'+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
            '</ul>');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
        nav.transition({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
            top: 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
            duration: .3
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
        // Stub some navigation behavior for the example
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
        nav.delegate('click', function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
            e.preventDefault();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
            MyApp.nodes.content
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
                .setHTML('<p>Clicked on ' + this.get('text') + '</p>');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
        }, 'a');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
    _renderContent : function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
        MyApp.nodes.content
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
            .setHTML('<p>[ App content here ]</p>')
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
            .transition({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
                opacity: 1,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
                duration: .8
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
        MyApp.setStatus('App initialized',false);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
    }
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
Y.one('#init').on('click',function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
    e.preventDefault();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
    this.set('text','Re-initialize Application');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
    MyApp.render('#demo');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
// expose the example structure
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
YUI.example = { MyApp : MyApp };
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
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
<h3>The Markup</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
<p>The markup will start with just a placeholder element for our application.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
<pre class="code prettyprint">&lt;div id=&quot;demo&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
    &lt;p&gt;The module will be inserted here.  &lt;em&gt;Click the button below&lt;&#x2F;em&gt;.&lt;&#x2F;p&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
&lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
&lt;button id=&quot;init&quot;&gt;Initialize Application&lt;&#x2F;button&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
<p>The markup will eventually evolve to the following as the script runs (indented for readability):</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
<pre class="code prettyprint">&lt;div id=&quot;demo&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
    &lt;div class=&quot;yui3-module&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
        &lt;div class=&quot;yui3-hd&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
            &lt;h4&gt;AsyncQueue Demo&lt;&#x2F;h4&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
        &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
        &lt;div class=&quot;yui3-bd&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
            &lt;div class=&quot;yui3-nav&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
                &lt;ul class=&quot;yui3-g&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
                    &lt;li class=&quot;yui3-u-1-4&quot;&gt;&lt;a href=&quot;#&quot;&gt;Nav Lorem&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
                    &lt;li class=&quot;yui3-u-1-4&quot;&gt;&lt;a href=&quot;#&quot;&gt;Nav Ipsum&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
                    &lt;li class=&quot;yui3-u-1-4&quot;&gt;&lt;a href=&quot;#&quot;&gt;Nav Dolor&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
                    &lt;li class=&quot;yui3-u-1-4&quot;&gt;&lt;a href=&quot;#&quot;&gt;Nav Sit&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
                &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
            &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
            &lt;div class=&quot;yui3-content&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
                &lt;p&gt;[ App content here ]&lt;&#x2F;p&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
            &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
        &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
        &lt;div class=&quot;yui3-ft&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
            &lt;p class=&quot;yui3-status&quot;&gt;(status message here)&lt;&#x2F;p&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
        &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
&lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
&lt;button id=&quot;init&quot;&gt;Re-initialize Application&lt;&#x2F;button&gt;</pre>
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
<h3>The CSS</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
<p>Some CSS is added to make it look like an application.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
<pre class="code prettyprint">&lt;style scoped&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
    #init {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
        margin-top: 1em;
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
    #demo .yui3-module {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
        position: relative;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
        width: 28em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
    #demo .yui3-module .yui3-hd,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
    #demo .yui3-module .yui3-bd,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
    #demo .yui3-module .yui3-ft {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
        margin: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
        padding: 1ex 1em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
    #demo .yui3-module .yui3-hd {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
        background: #406ED9;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
    #demo .yui3-module .yui3-hd h4 {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
        color: #fff;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
        margin: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
    #demo .yui3-module .yui3-bd {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
        background: #ABCEFF;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
        border-left: 1px solid #7A97BB;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
        border-right: 1px solid #7A97BB;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
        height: 5em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
        padding-top: 4.5em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
        position: relative;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
        overflow: hidden;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
        text-align: center;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
    #demo .yui3-module .yui3-ft {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
        background: #fff;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
        border: 1px solid #7A97BB;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
        border-top-color: #ccc;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
        padding-right: 25px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
    #demo .yui3-module .yui3-status {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
        margin: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
        padding: 0 25px 0 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
        height: 1.3em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
    #demo .yui3-module .yui3-nav {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
        background: #fff;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
        border-bottom: 1px solid #ccc;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
        left: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
        padding: .5em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
        position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
        width: 27em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
    #demo .yui3-module .yui3-nav ul,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
    #demo .yui3-module .yui3-nav li {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
        list-style: none;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
        margin: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
        padding: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
    #demo .yui3-module .yui3-nav a {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
        color: #ffa928;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
    #demo .yui3-module .working {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
        background: #fff url(http:&#x2F;&#x2F;l.yimg.com&#x2F;a&#x2F;i&#x2F;nt&#x2F;ic&#x2F;ut&#x2F;bsc&#x2F;busyarr_1.gif) no-repeat 26em 50%;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
&lt;&#x2F;style&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
<h3>Example application structure</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
<p>For this example, we'll create a simple application that we'll contain under the <code>MyApp</code> namespace.  The basic structure of the namespace will be as follows:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
<pre class="code prettyprint">YUI().use(&quot;node&quot;, &quot;transition&quot;, &quot;async-queue&quot;, function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
var MyApp = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
    &#x2F;&#x2F; the name of the application
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
    NAME : &quot;AsyncQueue Demo&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
    &#x2F;&#x2F; rendering AsyncQueue
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
    q : new Y.AsyncQueue(),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
    &#x2F;&#x2F; cache of frequently used nodes in the DOM structure
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
    nodes : {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
        root    : null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
        status  : null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
        nav     : null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
        content : null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
        foot    : null
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
    &#x2F;*** Public API methods ***&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
    &#x2F;&#x2F; draws the UI in the specified container
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
    render : function (container) { ... },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
    &#x2F;&#x2F; update the status bar at the bottom of the app
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
    setStatus : function (message,working) { ... },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
    &#x2F;*** private methods ***&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
    &#x2F;&#x2F; adds the basic app skeleton to the page
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
    _renderFramework : function () { ... },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
    &#x2F;&#x2F; populates the navigation section
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
    _renderNav : function () { ... },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
    &#x2F;&#x2F; populates the content section
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
    _renderContent : function () { ... }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
<p>The <code>MyApp.render</code> function will add the rendering methods to the <code>MyApp.q</code> AsyncQueue and set it in motion.  Each of the methods will be executed in turn, yielding back to the browser between steps.  So as each piece of the UI is assembled, the browser is given the opportunity to draw it.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
<pre class="code prettyprint">...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
render : function (container) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
    &#x2F;&#x2F; If the application is currently rendered somewhere, destroy it first
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
    &#x2F;&#x2F; by clearing the queue and adding the destroy method to run before
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
    &#x2F;&#x2F; the default rendering operations.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
    if (MyApp.nodes.root) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
        MyApp.q.stop();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
        MyApp.q.add(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
            MyApp.destroy
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
        );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
    &#x2F;&#x2F; Add the rendering operations to the ops.render queue and call run()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
    MyApp.q.add(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
        &#x2F;&#x2F; pass the container param to the callback using Y.bind
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
        Y.bind(MyApp._renderFramework, MyApp, container),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
        MyApp._renderNav,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
        MyApp._renderContent).run();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
},
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
...</pre>
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
<p>If there are any process-intensive operations in the rendering steps, the UI generated in all <em>previous</em> steps will have been drawn by the browser before the heavy lifting begins.  This way, the user will be shown a part of the UI and can begin to develop an understanding of its structure and operation while the rest of it is being constructed.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
<h3>A note on artificial delays and animation</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
<p>In this example, rather than include code that would spike your CPU, delays were simulated by inserting AsyncQueue callbacks with a timeout and a function that does nothing.  There is a distinct difference between a delay caused by code execution and a delay caused by <code>setTimeout</code>.  In the former case, the browser is busy and likely won't respond to user events (such as clicks) until the executing code has completed.  In the latter, any number of JavaScript event threads may execute to completion in the intervening time.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   404
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
<h3>Full Script Source</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
<p>The complete code for this example includes the artificial delays added to <code>MyApp.q</code> in the <code>render</code> method.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   408
<pre class="code prettyprint">&lt;script type=&quot;text&#x2F;javascript&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   409
YUI().use(&quot;node&quot;, &quot;transition&quot;,&quot;async-queue&quot;, function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   410
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   411
var MyApp = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   412
    NAME : &#x27;Asynchronous Queue Demo&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   413
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   414
    q : new Y.AsyncQueue(),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   415
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   416
    nodes : {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   417
        root    : null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   418
        status  : null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   419
        nav     : null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   420
        content : null,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   421
        foot    : null
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   422
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   423
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   424
    render : function (container) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   425
        if (MyApp.nodes.root) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   426
            MyApp.q.stop();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   427
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   428
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   429
        &#x2F;&#x2F; artificial delays have been inserted to simulate _renderNav or
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   430
        &#x2F;&#x2F; _renderContent being process intensive and taking a while to complete
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   431
        MyApp.q.add(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   432
            &#x2F;&#x2F; pass the container param to the callback using Y.bind
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   433
            Y.bind(MyApp._renderFramework, MyApp, container),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   434
            {fn: function () {}, timeout: 700}, &#x2F;&#x2F; artificial delay
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   435
            MyApp._renderNav,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   436
            {fn: function () {}, timeout: 700}, &#x2F;&#x2F; artificial delay
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   437
            MyApp._renderContent).run();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   438
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   439
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   440
    setStatus : function (message,working) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   441
        MyApp.nodes.status.setHTML(message);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   442
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   443
        MyApp.nodes.foot[working?&#x27;addClass&#x27;:&#x27;removeClass&#x27;](&#x27;working&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   444
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   445
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   446
    _renderFramework : function (container) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   447
        var root = MyApp.nodes.root = Y.one(container);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   448
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   449
        root.setHTML(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   450
        &#x27;&lt;div class=&quot;yui3-module&quot;&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   451
            &#x27;&lt;div class=&quot;yui3-hd&quot;&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   452
                &#x27;&lt;h4&gt;&#x27;+MyApp.NAME+&#x27;&lt;&#x2F;h4&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   453
            &#x27;&lt;&#x2F;div&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   454
            &#x27;&lt;div class=&quot;yui3-bd&quot;&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   455
                &#x27;&lt;div class=&quot;yui3-nav&quot;&gt;&lt;&#x2F;div&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   456
                &#x27;&lt;div class=&quot;yui3-content&quot;&gt;&lt;&#x2F;div&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   457
            &#x27;&lt;&#x2F;div&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   458
            &#x27;&lt;div class=&quot;yui3-ft&quot;&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   459
                &#x27;&lt;p class=&quot;yui3-status&quot;&gt;&lt;&#x2F;p&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   460
            &#x27;&lt;&#x2F;div&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   461
        &#x27;&lt;&#x2F;div&gt;&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   462
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   463
        MyApp.nodes.status  = root.one(&#x27;p.yui3-status&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   464
        MyApp.nodes.nav     = root.one(&#x27;.yui3-nav&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   465
        MyApp.nodes.content = root.one(&#x27;.yui3-content&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   466
        MyApp.nodes.foot    = root.one(&#x27;.yui3-ft&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   467
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   468
        MyApp.nodes.nav.setStyle(&#x27;top&#x27;,&#x27;-30px&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   469
        MyApp.nodes.content.setStyle(&#x27;opacity&#x27;,0);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   470
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   471
        MyApp.setStatus(&#x27;Loading...&#x27;,true);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   472
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   473
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   474
    _renderNav : function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   475
        var nav = MyApp.nodes.nav;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   476
        nav.append(
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   477
            &#x27;&lt;ul class=&quot;yui3-g&quot;&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   478
                &#x27;&lt;li class=&quot;yui3-u-1-4&quot;&gt;&lt;a href=&quot;#&quot;&gt;Nav Lorem&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   479
                &#x27;&lt;li class=&quot;yui3-u-1-4&quot;&gt;&lt;a href=&quot;#&quot;&gt;Nav Ipsum&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   480
                &#x27;&lt;li class=&quot;yui3-u-1-4&quot;&gt;&lt;a href=&quot;#&quot;&gt;Nav Dolor&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   481
                &#x27;&lt;li class=&quot;yui3-u-1-4&quot;&gt;&lt;a href=&quot;#&quot;&gt;Nav Sit&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;&#x27;+
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   482
            &#x27;&lt;&#x2F;ul&gt;&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   483
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   484
        nav.transition({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   485
            top: 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   486
            duration: .3
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   487
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   488
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   489
        &#x2F;&#x2F; Stub some navigation behavior for the example
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   490
        nav.delegate(&#x27;click&#x27;, function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   491
            e.preventDefault();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   492
            MyApp.nodes.content
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   493
                .setHTML(&#x27;&lt;p&gt;Clicked on &#x27; + this.get(&#x27;text&#x27;) + &#x27;&lt;&#x2F;p&gt;&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   494
        }, &#x27;a&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   495
    },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   496
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   497
    _renderContent : function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   498
        MyApp.nodes.content
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   499
            .setHTML(&#x27;&lt;p&gt;[ App content here ]&lt;&#x2F;p&gt;&#x27;)
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   500
            .transition({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   501
                opacity: 1,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   502
                duration: .8
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   503
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   504
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   505
        MyApp.setStatus(&#x27;App initialized&#x27;,false);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   506
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   507
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   508
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   509
Y.one(&#x27;#init&#x27;).on(&#x27;click&#x27;,function (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   510
    e.preventDefault();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   511
    this.set(&#x27;text&#x27;,&#x27;Re-initialize Application&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   512
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   513
    MyApp.render(&#x27;#demo&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   514
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   515
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   516
&#x2F;&#x2F; expose the example structure
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   517
YUI.example = { MyApp : MyApp };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   518
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   519
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   520
&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   521
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   522
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   523
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   524
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   526
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   527
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   528
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   529
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   530
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   531
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   532
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   533
                            <h2 class="no-toc">Examples</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   534
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   535
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   536
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   537
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   538
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   539
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   540
                                        <li data-description="This example employs AsyncQueue to incrementally construct an application interface; this illustrates the approach you&#x27;d take to allow chunked rendering of the UI in a process-intensive application.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   541
                                            <a href="queue-app.html">Building a UI with AsyncQueue</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   542
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   543
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   544
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   545
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   546
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   547
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   548
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   549
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   550
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   551
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   552
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   553
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   554
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   555
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   556
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   557
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   558
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   559
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   560
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   561
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   562
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   563
    assets: '../assets/async-queue',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   564
    name: 'queue-app',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   565
    title: 'Building a UI with AsyncQueue',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   566
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   567
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   568
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   569
YUI.Env.Tests.examples.push('queue-app');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   570
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   571
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   572
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   573
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   574
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   575
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   576
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   577
</html>