src/cm/media/js/lib/yui/yui_3.10.3/docs/overlay/overlay-stack.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: Stack Support</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: Stack Support</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" scoped>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
/* Hide overlay markup while loading, if js is enabled */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
.yui3-js-enabled .yui3-overlay-loading {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
    top:-1000em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
    left:-1000em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    position:absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
/* Overlay Look/Feel */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
.yui3-overlay-content {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
    background-color: #ECEFFB;  
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
    border: 1px solid #9EA8C6;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
    border-radius: 3px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.25);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
.yui3-overlay-content .yui3-widget-hd {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
    background-color: #B6BFDA;  
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
    color: #30418C;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
    font-size: 120%;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
    font-weight: bold;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
    padding: 0.2em 0.5em 0.3em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
    border-radius: 2px 2px 0 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
.yui3-overlay-content .yui3-widget-bd {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
    padding: 0.4em 0.6em 0.5em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
.yui3-overlay-content .yui3-widget-ft {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
    background-color:#DFE3F5;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
    padding: 0.4em 0.6em 0.5em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
    border-radius: 0 0 2px 2px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
.yui3-overlay-content .yui3-widget-bd {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
    position: relative;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
.yui3-overlay-content .yui3-widget-bd .yui3-ovr-z-i{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
    bottom: 1em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
.yui3-overlay-content .yui3-widget-bd .yui3-ovr-z-i em{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
    color: #FF8800;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
    font-size: 160%;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
    font-style: normal;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
    font-weight: bold;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
.yui3-overlay-content .yui3-widget-bd {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
    padding-top:6em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
/* Example Layout CSS */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
.overlay-example {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
    padding:5px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
    height:25em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
.overlay-example select {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
    width:35em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
} 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
</style>
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 shows how you can work with the <code>zIndex</code> attribute which the Overlay supports, to implement a simple <code>bringToTop</code> function. The example code also listens for changes in the <code>zIndex</code> attribute, which it uses to update the content of the overlay, when it is brought to the top of the stack.</p>    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
<div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
    <p><strong>Click on an Overlay to switch it's zIndex with the highest zIndex in the stack, bringing it to the top of the stack</strong></p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
<div class="overlay-example" id="overlay-stack">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc pretium quam eu mi varius pulvinar. Duis orci arcu, ullamcorper sit amet, luctus ut, interdum ac, quam. Pellentesque euismod. Nam tincidunt, purus in ultrices congue, urna neque posuere arcu, aliquam tristique purus sapien id nulla. Etiam rhoncus nulla at leo. Cras scelerisque nisl in nibh. Sed eget odio. Morbi elit elit, porta a, convallis sit amet, rhoncus non, felis. Mauris nulla pede, pretium eleifend, porttitor at, rutrum id, orci. Quisque non urna. Nulla aliquam rhoncus est.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
    <p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
        <select class="needs-shim">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
            <option>Prevent IE6 Bleedthrough</option>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
        </select>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
    </p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc pretium quam eu mi varius pulvinar. Duis orci arcu, ullamcorper sit amet, luctus ut, interdum ac, quam. Pellentesque euismod. Nam tincidunt, purus in ultrices congue, urna neque posuere arcu, aliquam tristique purus sapien id nulla. Etiam rhoncus nulla at leo. Cras scelerisque nisl in nibh. Sed eget odio. Morbi elit elit, porta a, convallis sit amet, rhoncus non, felis. Mauris nulla pede, pretium eleifend, porttitor at, rutrum id, orci. Quisque non urna. Nulla aliquam rhoncus est.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
<script type="text/javascript">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
YUI().use("overlay", function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
    var overlays = [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
        overlay,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
        n = 6,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
        xy = Y.one("#overlay-stack").getXY();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
    function getOverlayXY(xy, i) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
        return [xy[0] + i * 60, xy[1] + i * 40];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
    for (var i = 0; i < n; ++i) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
        ovrXY = getOverlayXY(xy, i);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
        ovrZIndex = i+1;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
        // Setup n Overlays, with increasing zIndex values
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
        overlay = new Y.Overlay({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
            zIndex:ovrZIndex,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
            xy:ovrXY,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
            width:"8em",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
            height:"8em",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
            headerContent: 'Overlay <span class="yui3-ovr-number">' + i + '</span>',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
            bodyContent: '<div class="yui3-ovr-z-i"><em>' + ovrZIndex + '</em> = z-index</div>'
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
        overlay.render("#overlay-stack");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
        overlays.push(overlay);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
        // Update body whenever zIndex changes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
        overlay.after("zIndexChange", function(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
            this.set("bodyContent", '<div class="yui3-ovr-z-i"><em>' + e.newVal + '</em> = z-index</div>');
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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
    function onStackMouseDown(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
        var widget = Y.Widget.getByNode(e.target);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
        // If user clicked on an Overlay, bring it to the top of the stack
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
        if (widget && widget instanceof Y.Overlay) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
            bringToTop(widget);
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
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
    // zIndex comparator
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
    function byZIndexDesc(a, b) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
        if (!a || !b || !a.hasImpl(Y.WidgetStack) || !b.hasImpl(Y.WidgetStack)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
            return 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
        } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
            var aZ = a.get("zIndex");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
            var bZ = b.get("zIndex");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
            if (aZ > bZ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
                return -1;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
            } else if (aZ < bZ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
                return 1;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
            } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
                return 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
        }
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
    function bringToTop(overlay) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
        // Sort overlays by their numerical zIndex values
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
        overlays.sort(byZIndexDesc);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
        // Get the highest one
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
        var highest = overlays[0];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
        // If the overlay is not the highest one, switch zIndices
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
        if (highest !== overlay) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
            var highestZ = highest.get("zIndex");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
            var overlayZ = overlay.get("zIndex");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
            overlay.set("zIndex", highestZ);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
            highest.set("zIndex", overlayZ);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
    Y.on("mousedown", onStackMouseDown, "#overlay-stack");
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
<h2>Basic Overlay Stackability (zIndex and shim support)</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
<h3>Setting Up The YUI Instance</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
<p>As with the <a href="overlay-xy.html">"Basic XY Positioning"</a> example, to create an instance of an Overlay on your page, the only module you need to request is the <code>overlay</code> module. The <code>overlay</code> module will pull in the <code>widget</code>, <code>widget-stack</code>, <code>widget-position</code>, <code>widget-position-align</code>, <code>widget-position-constrain</code> and <code>widget-stdmod</code> extensions it uses.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
<pre class="code prettyprint">YUI({...}).use(&quot;overlay&quot;, function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
    &#x2F;&#x2F; We&#x27;ll write example code here, where we have a Y.Overlay class available.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
});</pre>
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
<p>Using the <code>overlay</code> module will also pull down the default CSS required for overlay, on top of which we only need to add our required look/feel CSS for the example.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
<strong>Note:</strong> be sure to add the <code>yui3-skin-sam</code> classname to the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
page's <code>&lt;body&gt;</code> element or to a parent element of the widget in order to apply
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
the default CSS skin. See <a href="http://yuilibrary.com/yui/docs/tutorials/skins/">Understanding Skinning</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
<pre class="code prettyprint">&lt;body class=&quot;yui3-skin-sam&quot;&gt; &lt;!-- You need this skin class --&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
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
<h3>Instantiating The Overlay</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
<p>For this example we'll instantiate Overlays from script, as we did for the <a href="overlay-align.html">"Alignment Support"</a> example. We'll create 6 Overlay instances and give them increasing zIndex and xy attribute values:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
<pre class="code prettyprint">function getOverlayXY(xy, i) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
    return [xy[0] + i * 60, xy[1] + i * 40];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
for (var i = 0; i &lt; n; ++i) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
    ovrXY = getOverlayXY(xy, i);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
    ovrZIndex = i+1;
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; Setup n Overlays, with increasing zIndex values and xy positions
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
    overlay = new Y.Overlay({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
        zIndex:ovrZIndex,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
        xy:ovrXY,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
        width:&quot;8em&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
        height:&quot;8em&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
        headerContent: &#x27;Overlay &lt;span class=&quot;yui3-ovr-number&quot;&gt;&#x27; + i + &#x27;&lt;&#x2F;span&gt;&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
        bodyContent: &quot;z-index = &quot; + ovrZIndex
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
    overlay.render(&quot;#overlay-stack&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
    ...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
<p>We store the Overlay instances in an <code>overlays</code> array, which we'll later use to sort the Overlays by their zIndex values. We also setup a listener for the <code>zIndex</code> attribute change event, which will update the body section of the Overlay to display its new zIndex value.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
<pre class="code prettyprint">overlays.push(overlay);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
&#x2F;&#x2F; Update body whenever zIndex changes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
overlay.after(&quot;zIndexChange&quot;, function(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
    this.set(&quot;bodyContent&quot;, &quot;z-index = &quot; + e.newVal);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
<h3>Handling MouseDown Using Widget.getByNode</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
<p>The <code>Widget</code> class has a static <code>getByNode</code> method which can be used to retrieve Widget instances based on a node reference. The method will return the closest Widget which contains the given node.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
We'll use this method in a click listener bound to the container of the example ("#overlay-stack"). Target nodes of click events bubbled up to this example container, will be passed to the <code>Widget.getByNode</code> method, to see if an Overlay was clicked on.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
<pre class="code prettyprint">function onStackMouseDown(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
    var widget = Y.Widget.getByNode(e.target);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
    &#x2F;&#x2F; If user clicked on an Overlay, bring it to the top of the stack
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
    if (widget &amp;&amp; widget instanceof Y.Overlay) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
        bringToTop(widget);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
    }
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
Y.on(&quot;mousedown&quot;, onStackMouseDown, &quot;#overlay-stack&quot;);</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
<p>If an Overlay was clicked on, we invoke the simple bringToTop method which will set the zIndex of the clicked Overlay to the highest current Overlay zIndex value.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
<h3>The <code>bringToTop</code> Implementation</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
<p>We use a basic comparator function to sort the array of Overlays we have. The comparator makes sure the array element we're dealing with <a href="../widget/widget-build.html">has a <code>WidgetStack</code> implementation</a> (which Overlays do) and if so, sorts them in descending <code>zIndex</code> attribute value order:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
<pre class="code prettyprint">&#x2F;&#x2F; zIndex comparator
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
function byZIndexDesc(a, b) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
    if (!a || !b || !a.hasImpl(Y.WidgetStack) || !b.hasImpl(Y.WidgetStack)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
        return 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
    } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
        var aZ = a.get(&quot;zIndex&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
        var bZ = b.get(&quot;zIndex&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 (aZ &gt; bZ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
            return -1;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
        } else if (aZ &lt; bZ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
            return 1;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
        } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
            return 0;
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
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
<p>Once sorted, for the purposes of the example, we simply switch the <code>zIndex</code> of the "highest" Overlay, with the Overlay which was clicked on, giving the selected Overlay the highest zIndex value:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
<pre class="code prettyprint">function bringToTop(overlay) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
    &#x2F;&#x2F; Sort overlays by their numerical zIndex values
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
    overlays.sort(byZIndexDesc);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
    &#x2F;&#x2F; Get the highest one
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
    var highest = overlays[0];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
    &#x2F;&#x2F; If the overlay is not the highest one, switch zIndices
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
    if (highest !== overlay) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
        var highestZ = highest.get(&quot;zIndex&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
        var overlayZ = overlay.get(&quot;zIndex&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
        overlay.set(&quot;zIndex&quot;, highestZ);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
        highest.set(&quot;zIndex&quot;, overlayZ);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
<h3>CSS: Overlay Look/Feel</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
<p>As mentioned in the <a href="overlay-xy.html">"Basic XY Positioning"</a> example, the overlay.css Sam Skin file (build/overlay/assets/skins/sam/overlay.css) provides the default functional CSS for the overlay. Namely the CSS rules to hide the overlay, and position it absolutely. However there's no default out-of-the-box look/feel applied to the Overlay widget.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
<p>The example provides it's own look and feel for the Overlay, by defining rules for the content box, header and body sections:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
<pre class="code prettyprint">&#x2F;* Overlay Look&#x2F;Feel *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
.yui3-overlay-content {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
    background-color: #ECEFFB;  
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
    border: 1px solid #9EA8C6;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
    border-radius: 3px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
    box-shadow: 3px 3px 5px rgba(0, 0, 0, 0.25);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
.yui3-overlay-content .yui3-widget-hd {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
    background-color: #B6BFDA;  
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
    color: #30418C;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
    font-size: 120%;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
    font-weight: bold;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
    padding: 0.2em 0.5em 0.3em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
    border-radius: 2px 2px 0 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
.yui3-overlay-content .yui3-widget-bd {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
    padding: 0.4em 0.6em 0.5em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
.yui3-overlay-content .yui3-widget-ft {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
    background-color:#DFE3F5;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
    padding: 0.4em 0.6em 0.5em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
    border-radius: 0 0 2px 2px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
.yui3-overlay-content .yui3-widget-bd .yui3-ovr-z-i{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
    line-height: 3.5em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
    font-size:190%;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
<h2>Complete Example Source</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
<pre class="code prettyprint">&lt;p&gt;&lt;strong&gt;Click on an Overlay to switch it&#x27;s zIndex with the highest zIndex in the stack, bringing it to the top of the stack&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
&lt;div class=&quot;overlay-example&quot; id=&quot;overlay-stack&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
    &lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc pretium quam eu mi varius pulvinar. Duis orci arcu, ullamcorper sit amet, luctus ut, interdum ac, quam. Pellentesque euismod. Nam tincidunt, purus in ultrices congue, urna neque posuere arcu, aliquam tristique purus sapien id nulla. Etiam rhoncus nulla at leo. Cras scelerisque nisl in nibh. Sed eget odio. Morbi elit elit, porta a, convallis sit amet, rhoncus non, felis. Mauris nulla pede, pretium eleifend, porttitor at, rutrum id, orci. Quisque non urna. Nulla aliquam rhoncus est.&lt;&#x2F;p&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
    &lt;p&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
        &lt;select class=&quot;needs-shim&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
            &lt;option&gt;Prevent IE6 Bleedthrough&lt;&#x2F;option&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
        &lt;&#x2F;select&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
    &lt;&#x2F;p&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
    &lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc pretium quam eu mi varius pulvinar. Duis orci arcu, ullamcorper sit amet, luctus ut, interdum ac, quam. Pellentesque euismod. Nam tincidunt, purus in ultrices congue, urna neque posuere arcu, aliquam tristique purus sapien id nulla. Etiam rhoncus nulla at leo. Cras scelerisque nisl in nibh. Sed eget odio. Morbi elit elit, porta a, convallis sit amet, rhoncus non, felis. Mauris nulla pede, pretium eleifend, porttitor at, rutrum id, orci. Quisque non urna. Nulla aliquam rhoncus est.&lt;&#x2F;p&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
&lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
&lt;script type=&quot;text&#x2F;javascript&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
YUI().use(&quot;overlay&quot;, function(Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
    var overlays = [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
        overlay,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
        n = 6,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
        xy = Y.one(&quot;#overlay-stack&quot;).getXY();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
    function getOverlayXY(xy, i) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
        return [xy[0] + i * 60, xy[1] + i * 40];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
    for (var i = 0; i &lt; n; ++i) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
        ovrXY = getOverlayXY(xy, i);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
        ovrZIndex = i+1;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
        &#x2F;&#x2F; Setup n Overlays, with increasing zIndex values
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
        overlay = new Y.Overlay({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   398
            zIndex:ovrZIndex,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
            xy:ovrXY,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
            width:&quot;8em&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
            height:&quot;8em&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
            headerContent: &#x27;Overlay &lt;span class=&quot;yui3-ovr-number&quot;&gt;&#x27; + i + &#x27;&lt;&#x2F;span&gt;&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
            bodyContent: &#x27;&lt;div class=&quot;yui3-ovr-z-i&quot;&gt;&lt;em&gt;&#x27; + ovrZIndex + &#x27;&lt;&#x2F;em&gt; = z-index&lt;&#x2F;div&gt;&#x27;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   404
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
        overlay.render(&quot;#overlay-stack&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
        overlays.push(overlay);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   408
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   409
        &#x2F;&#x2F; Update body whenever zIndex changes
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   410
        overlay.after(&quot;zIndexChange&quot;, function(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   411
            this.set(&quot;bodyContent&quot;, &#x27;&lt;div class=&quot;yui3-ovr-z-i&quot;&gt;&lt;em&gt;&#x27; + e.newVal + &#x27;&lt;&#x2F;em&gt; = z-index&lt;&#x2F;div&gt;&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   412
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   413
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   414
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   415
    function onStackMouseDown(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   416
        var widget = Y.Widget.getByNode(e.target);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   417
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   418
        &#x2F;&#x2F; If user clicked on an Overlay, bring it to the top of the stack
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   419
        if (widget &amp;&amp; widget instanceof Y.Overlay) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   420
            bringToTop(widget);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   421
        }
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
    &#x2F;&#x2F; zIndex comparator
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   425
    function byZIndexDesc(a, b) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   426
        if (!a || !b || !a.hasImpl(Y.WidgetStack) || !b.hasImpl(Y.WidgetStack)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   427
            return 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   428
        } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   429
            var aZ = a.get(&quot;zIndex&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   430
            var bZ = b.get(&quot;zIndex&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   431
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   432
            if (aZ &gt; bZ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   433
                return -1;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   434
            } else if (aZ &lt; bZ) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   435
                return 1;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   436
            } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   437
                return 0;
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
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   441
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   442
    function bringToTop(overlay) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   443
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   444
        &#x2F;&#x2F; Sort overlays by their numerical zIndex values
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   445
        overlays.sort(byZIndexDesc);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   446
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   447
        &#x2F;&#x2F; Get the highest one
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   448
        var highest = overlays[0];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   449
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   450
        &#x2F;&#x2F; If the overlay is not the highest one, switch zIndices
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   451
        if (highest !== overlay) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   452
            var highestZ = highest.get(&quot;zIndex&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   453
            var overlayZ = overlay.get(&quot;zIndex&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   454
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   455
            overlay.set(&quot;zIndex&quot;, highestZ);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   456
            highest.set(&quot;zIndex&quot;, overlayZ);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   457
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   458
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   459
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   460
    Y.on(&quot;mousedown&quot;, onStackMouseDown, &quot;#overlay-stack&quot;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   461
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   462
&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   463
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   464
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   465
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   466
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   467
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   468
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   469
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   470
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   471
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   472
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   473
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   474
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   475
                            <h2 class="no-toc">Examples</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   476
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   477
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   478
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   479
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   480
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   481
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   482
                                        <li data-description="Shows how to instantiate a basic Overlay instance, and use the Overlay&#x27;s basic XY positioning support.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   483
                                            <a href="overlay-xy.html">Basic XY Positioning</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   484
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   485
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   486
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   487
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   488
                                        <li data-description="Shows how to create a simple tooltip incorporating the overlay shim feature.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   489
                                            <a href="overlay-tooltip.html">Simple Tooltip</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   490
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   491
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   492
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   493
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   494
                                        <li data-description="Shows how to use the Overlay&#x27;s XY alignment support, to align the Overlay relative to another element, or to the viewport.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   495
                                            <a href="overlay-align.html">Alignment Support</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   496
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   497
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   498
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   499
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   500
                                        <li data-description="Shows how to use the Overlay&#x27;s zindex and shim support when positioning Overlays above other elements on the page.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   501
                                            <a href="overlay-stack.html">Stack Support</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   502
                                        </li>
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
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   506
                                        <li data-description="Shows how to modify content in the Overlay&#x27;s header, body and footer sections.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   507
                                            <a href="overlay-stdmod.html">Standard Module Support</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   508
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   509
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   510
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   511
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   512
                                        <li data-description="Shows how to use Overlay&#x27;s constrainment support, to limit the XY value which can be set for an Overlay.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   513
                                            <a href="overlay-constrain.html">Constrain Support</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   514
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   515
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   516
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   517
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   518
                                        <li data-description="Shows how to create a simple plugin to retrieve content for the Overlay using the io utility.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   519
                                            <a href="overlay-io-plugin.html">IO Plugin</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   520
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   521
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   522
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   523
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   524
                                        <li data-description="Shows how to create a simple plugin to animate the Overlay&#x27;s movement and visibility.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   525
                                            <a href="overlay-anim-plugin.html">Animation Plugin</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   526
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   527
                                    
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
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   532
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   533
                            </ul>
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
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   536
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   537
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   538
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   539
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   540
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   541
                            <h2 class="no-toc">Examples That Use This Component</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   542
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   543
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   544
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   545
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   546
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   547
                                    
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
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   552
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   553
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   554
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   555
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   556
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   557
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   558
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   559
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   560
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   561
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   562
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   563
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   564
                                        <li data-description="Creating an accessible menu button using the Focus Manager Node Plugin, Event&#x27;s delegation support and mouseenter event, along with the Overlay widget and Node&#x27;s support for the WAI-ARIA Roles and States.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   565
                                            <a href="../node-focusmanager/node-focusmanager-button.html">Accessible Menu Button</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   566
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   567
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   568
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   569
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   570
                                        <li data-description="Use StyleSheet to adjust the CSS rules applying a page theme from user input">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   571
                                            <a href="../stylesheet/stylesheet-theme.html">Adjusting a Page Theme on the Fly</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   572
                                        </li>
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
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   576
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   577
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   578
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   579
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   580
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   581
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   582
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   583
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   584
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   585
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   586
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   587
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   588
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   589
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   590
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   591
    assets: '../assets/overlay',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   592
    name: 'overlay-stack',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   593
    title: 'Stack Support',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   594
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   595
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   596
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   597
YUI.Env.Tests.examples.push('overlay-xy');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   598
YUI.Env.Tests.examples.push('overlay-tooltip');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   599
YUI.Env.Tests.examples.push('overlay-align');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   600
YUI.Env.Tests.examples.push('overlay-stack');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   601
YUI.Env.Tests.examples.push('overlay-stdmod');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   602
YUI.Env.Tests.examples.push('overlay-constrain');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   603
YUI.Env.Tests.examples.push('overlay-io-plugin');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   604
YUI.Env.Tests.examples.push('overlay-anim-plugin');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   605
YUI.Env.Tests.examples.push('node-focusmanager-button');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   606
YUI.Env.Tests.examples.push('stylesheet-theme');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   607
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   608
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   609
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   610
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   611
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   612
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   613
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   614
</html>