fixed the resizable text area with IE problem fixed the ad space with IE problem merged the 7.2.0 and 7.1.4 change logs
527 lines
16 KiB
HTML
527 lines
16 KiB
HTML
|
|
<html>
|
|
<head>
|
|
<title>JavaScript Documentation - OverlayManager.js</title>
|
|
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div id="header">
|
|
<h1>JavaScript Documentation</h1>
|
|
<h3><a href="./index.html">Yahoo! UI Library: Container</a></h3>
|
|
|
|
<div class="breadcrumbs">
|
|
|
|
|
|
|
|
|
|
<a href="./index.html">Yahoo! UI Library: Container</a>
|
|
>
|
|
<strong>OverlayManager.js</strong>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div id="body">
|
|
|
|
|
|
<div class="nav">
|
|
<div class="module resources">
|
|
<ul class="content">
|
|
<li><a href="overview-tree.html">Tree View</a></li>
|
|
<li><a href="index-all.html">Element Index</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
<div class="module">
|
|
<h4><a href="./allclasses-noframe.html">Classes</a></h4>
|
|
<ul class="content">
|
|
|
|
|
|
|
|
<li>
|
|
<a href="YAHOO.util.Config.html">
|
|
YAHOO.util.Config</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="YAHOO.util.KeyListener.html">
|
|
YAHOO.util.KeyListener</a>
|
|
</li>
|
|
|
|
|
|
|
|
<li>
|
|
<a href="YAHOO.widget.ContainerEffect.html">
|
|
YAHOO.widget.ContainerEffect</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="YAHOO.widget.Dialog.html">
|
|
YAHOO.widget.Dialog</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="YAHOO.widget.Module.html">
|
|
YAHOO.widget.Module</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="YAHOO.widget.Overlay.html">
|
|
YAHOO.widget.Overlay</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="YAHOO.widget.OverlayManager.html">
|
|
YAHOO.widget.OverlayManager</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="YAHOO.widget.Panel.html">
|
|
YAHOO.widget.Panel</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="YAHOO.widget.SimpleDialog.html">
|
|
YAHOO.widget.SimpleDialog</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="YAHOO.widget.Tooltip.html">
|
|
YAHOO.widget.Tooltip</a>
|
|
</li>
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="module">
|
|
<h4><a href="./overview-summary.html">Files</a></h4>
|
|
<ul class="content">
|
|
|
|
<li>
|
|
<a href="overview-summary-Config.js.html">
|
|
Config.js</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="overview-summary-ContainerEffect.js.html">
|
|
ContainerEffect.js</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="overview-summary-Dialog.js.html">
|
|
Dialog.js</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="overview-summary-KeyListener.js.html">
|
|
KeyListener.js</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="overview-summary-Module.js.html">
|
|
Module.js</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="overview-summary-Overlay.js.html">
|
|
Overlay.js</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="overview-summary-OverlayManager.js.html">
|
|
OverlayManager.js</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="overview-summary-Panel.js.html">
|
|
Panel.js</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="overview-summary-SimpleDialog.js.html">
|
|
SimpleDialog.js</a>
|
|
</li>
|
|
|
|
<li>
|
|
<a href="overview-summary-Tooltip.js.html">
|
|
Tooltip.js</a>
|
|
</li>
|
|
|
|
</ul>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="main">
|
|
|
|
|
|
|
|
|
|
<h2>OverlayManager.js</h2>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="meta">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="quick-links">
|
|
<strong>Quick Links:</strong>
|
|
|
|
|
|
<a href="#classSummary">Class Summary</a> |
|
|
|
|
|
|
|
|
|
|
|
|
<a href="#source">Source Code</a>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="section class summaries">
|
|
<h3><a name="classSummary">Class Summary</a> <span class="top">[<a href="#top">top</a>]</span></h3>
|
|
|
|
<div class="content">
|
|
<table border="1" cellpadding="3" cellspacing="0">
|
|
|
|
<tr>
|
|
<td class="name">
|
|
<a href="YAHOO.widget.OverlayManager.html">YAHOO.widget.OverlayManager</a>
|
|
</td>
|
|
<td class="overview"> </td>
|
|
</tr>
|
|
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<div class="section source">
|
|
<h3><a name="source">Souce Code</a> <span class="top">[<a href="#top">top</a>]</span></h3>
|
|
<pre class="sourceview"><span class="comment">/*
|
|
Copyright (c) 2006, Yahoo! Inc. All rights reserved.
|
|
Code licensed under the BSD License:
|
|
http://developer.yahoo.net/yui/license.txt
|
|
Version 0.11.3
|
|
*/</span>
|
|
|
|
<span class="comment">/**
|
|
* OverlayManager is used for maintaining the focus status of multiple Overlays.
|
|
* <span class="attrib">@param</span> {Array} overlays Optional. A collection of Overlays to register with the manager.
|
|
* <span class="attrib">@param</span> {object} userConfig The object literal representing the user configuration of the OverlayManager
|
|
* <span class="attrib">@constructor</span>
|
|
*/</span>
|
|
YAHOO.widget.OverlayManager = <span class="reserved">function</span>(userConfig) {
|
|
<span class="reserved">this</span>.init(userConfig);
|
|
};
|
|
|
|
<span class="comment">/**
|
|
* The CSS class representing a focused Overlay
|
|
* <span class="attrib">@type</span> string
|
|
*/</span>
|
|
YAHOO.widget.OverlayManager.CSS_FOCUSED = <span class="literal">"focused"</span>;
|
|
|
|
YAHOO.widget.OverlayManager.<span class="reserved">prototype</span> = {
|
|
|
|
constructor : YAHOO.widget.OverlayManager,
|
|
|
|
<span class="comment">/**
|
|
* The array of Overlays that are currently registered
|
|
* <span class="attrib">@type</span> Array
|
|
*/</span>
|
|
overlays : null,
|
|
|
|
<span class="comment">/**
|
|
* Initializes the default configuration of the OverlayManager
|
|
*/</span>
|
|
initDefaultConfig : <span class="reserved">function</span>() {
|
|
<span class="reserved">this</span>.cfg.addProperty(<span class="literal">"overlays"</span>, { suppressEvent:true } );
|
|
<span class="reserved">this</span>.cfg.addProperty(<span class="literal">"focusevent"</span>, { value:<span class="literal">"mousedown"</span> } );
|
|
},
|
|
|
|
<span class="comment">/**
|
|
* Returns the currently focused Overlay
|
|
* <span class="attrib">@return</span> {Overlay} The currently focused Overlay
|
|
*/</span>
|
|
getActive : <span class="reserved">function</span>() {},
|
|
|
|
<span class="comment">/**
|
|
* Focuses the specified Overlay
|
|
* <span class="attrib">@param</span> {Overlay} The Overlay to focus
|
|
* <span class="attrib">@param</span> {string} The id of the Overlay to focus
|
|
*/</span>
|
|
focus : <span class="reserved">function</span>(overlay) {},
|
|
|
|
<span class="comment">/**
|
|
* Removes the specified Overlay from the manager
|
|
* <span class="attrib">@param</span> {Overlay} The Overlay to remove
|
|
* <span class="attrib">@param</span> {string} The id of the Overlay to remove
|
|
*/</span>
|
|
remove: <span class="reserved">function</span>(overlay) {},
|
|
|
|
<span class="comment">/**
|
|
* Removes focus from all registered Overlays in the manager
|
|
*/</span>
|
|
blurAll : <span class="reserved">function</span>() {},
|
|
|
|
<span class="comment">/**
|
|
* Initializes the OverlayManager
|
|
* <span class="attrib">@param</span> {Array} overlays Optional. A collection of Overlays to register with the manager.
|
|
* <span class="attrib">@param</span> {object} userConfig The object literal representing the user configuration of the OverlayManager
|
|
*/</span>
|
|
init : <span class="reserved">function</span>(userConfig) {
|
|
<span class="reserved">this</span>.cfg = new YAHOO.util.Config(<span class="reserved">this</span>);
|
|
|
|
<span class="reserved">this</span>.initDefaultConfig();
|
|
|
|
<span class="reserved">if</span> (userConfig) {
|
|
<span class="reserved">this</span>.cfg.applyConfig(userConfig, true);
|
|
}
|
|
<span class="reserved">this</span>.cfg.fireQueue();
|
|
|
|
var activeOverlay = null;
|
|
|
|
<span class="reserved">this</span>.getActive = <span class="reserved">function</span>() {
|
|
<span class="reserved">return</span> activeOverlay;
|
|
};
|
|
|
|
<span class="reserved">this</span>.focus = <span class="reserved">function</span>(overlay) {
|
|
var o = <span class="reserved">this</span>.find(overlay);
|
|
<span class="reserved">if</span> (o) {
|
|
<span class="reserved">this</span>.blurAll();
|
|
activeOverlay = o;
|
|
YAHOO.util.Dom.addClass(activeOverlay.element, YAHOO.widget.OverlayManager.CSS_FOCUSED);
|
|
<span class="reserved">this</span>.overlays.sort(<span class="reserved">this</span>.compareZIndexDesc);
|
|
var topZIndex = YAHOO.util.Dom.getStyle(<span class="reserved">this</span>.overlays[0].element, <span class="literal">"zIndex"</span>);
|
|
<span class="reserved">if</span> (! isNaN(topZIndex) && <span class="reserved">this</span>.overlays[0] != overlay) {
|
|
activeOverlay.cfg.setProperty(<span class="literal">"zIndex"</span>, (parseInt(topZIndex, 10) + 2));
|
|
}
|
|
<span class="reserved">this</span>.overlays.sort(<span class="reserved">this</span>.compareZIndexDesc);
|
|
}
|
|
};
|
|
|
|
<span class="reserved">this</span>.remove = <span class="reserved">function</span>(overlay) {
|
|
var o = <span class="reserved">this</span>.find(overlay);
|
|
<span class="reserved">if</span> (o) {
|
|
var originalZ = YAHOO.util.Dom.getStyle(o.element, <span class="literal">"zIndex"</span>);
|
|
o.cfg.setProperty(<span class="literal">"zIndex"</span>, -1000, true);
|
|
<span class="reserved">this</span>.overlays.sort(<span class="reserved">this</span>.compareZIndexDesc);
|
|
<span class="reserved">this</span>.overlays = <span class="reserved">this</span>.overlays.slice(0, <span class="reserved">this</span>.overlays.length-1);
|
|
o.cfg.setProperty(<span class="literal">"zIndex"</span>, originalZ, true);
|
|
|
|
o.cfg.setProperty(<span class="literal">"manager"</span>, null);
|
|
o.focusEvent = null;
|
|
o.blurEvent = null;
|
|
o.focus = null;
|
|
o.blur = null;
|
|
}
|
|
};
|
|
|
|
<span class="reserved">this</span>.blurAll = <span class="reserved">function</span>() {
|
|
activeOverlay = null;
|
|
<span class="reserved">for</span> (var o=0;o<<span class="reserved">this</span>.overlays.length;o++) {
|
|
YAHOO.util.Dom.removeClass(<span class="reserved">this</span>.overlays[o].element, YAHOO.widget.OverlayManager.CSS_FOCUSED);
|
|
}
|
|
};
|
|
|
|
var overlays = <span class="reserved">this</span>.cfg.getProperty(<span class="literal">"overlays"</span>);
|
|
|
|
<span class="reserved">if</span> (! <span class="reserved">this</span>.overlays) {
|
|
<span class="reserved">this</span>.overlays = [];
|
|
}
|
|
|
|
<span class="reserved">if</span> (overlays) {
|
|
<span class="reserved">this</span>.register(overlays);
|
|
<span class="reserved">this</span>.overlays.sort(<span class="reserved">this</span>.compareZIndexDesc);
|
|
}
|
|
},
|
|
|
|
<span class="comment">/**
|
|
* Registers an Overlay or an array of Overlays with the manager. Upon registration, the Overlay receives functions for focus and blur, along with CustomEvents for each.
|
|
* <span class="attrib">@param</span> {Overlay} overlay An Overlay to register with the manager.
|
|
* <span class="attrib">@param</span> {Overlay[]} overlay An array of Overlays to register with the manager.
|
|
* <span class="attrib">@return</span> {boolean} True if any Overlays are registered.
|
|
*/</span>
|
|
register : <span class="reserved">function</span>(overlay) {
|
|
<span class="reserved">if</span> (overlay instanceof YAHOO.widget.Overlay) {
|
|
overlay.cfg.addProperty(<span class="literal">"manager"</span>, { value:<span class="reserved">this</span> } );
|
|
|
|
overlay.focusEvent = new YAHOO.util.CustomEvent(<span class="literal">"focus"</span>);
|
|
overlay.blurEvent = new YAHOO.util.CustomEvent(<span class="literal">"blur"</span>);
|
|
|
|
var mgr=<span class="reserved">this</span>;
|
|
|
|
overlay.focus = <span class="reserved">function</span>() {
|
|
mgr.focus(<span class="reserved">this</span>);
|
|
<span class="reserved">this</span>.focusEvent.fire();
|
|
};
|
|
|
|
overlay.blur = <span class="reserved">function</span>() {
|
|
mgr.blurAll();
|
|
<span class="reserved">this</span>.blurEvent.fire();
|
|
};
|
|
|
|
var focusOnDomEvent = <span class="reserved">function</span>(e,obj) {
|
|
overlay.focus();
|
|
};
|
|
|
|
var focusevent = <span class="reserved">this</span>.cfg.getProperty(<span class="literal">"focusevent"</span>);
|
|
YAHOO.util.Event.addListener(overlay.element,focusevent,focusOnDomEvent,<span class="reserved">this</span>,true);
|
|
|
|
var zIndex = YAHOO.util.Dom.getStyle(overlay.element, <span class="literal">"zIndex"</span>);
|
|
<span class="reserved">if</span> (! isNaN(zIndex)) {
|
|
overlay.cfg.setProperty(<span class="literal">"zIndex"</span>, parseInt(zIndex, 10));
|
|
} <span class="reserved">else</span> {
|
|
overlay.cfg.setProperty(<span class="literal">"zIndex"</span>, 0);
|
|
}
|
|
|
|
<span class="reserved">this</span>.overlays.push(overlay);
|
|
<span class="reserved">return</span> true;
|
|
} <span class="reserved">else</span> <span class="reserved">if</span> (overlay instanceof Array) {
|
|
var regcount = 0;
|
|
<span class="reserved">for</span> (var i=0;i<overlay.length;i++) {
|
|
<span class="reserved">if</span> (<span class="reserved">this</span>.register(overlay[i])) {
|
|
regcount++;
|
|
}
|
|
}
|
|
<span class="reserved">if</span> (regcount > 0) {
|
|
<span class="reserved">return</span> true;
|
|
}
|
|
} <span class="reserved">else</span> {
|
|
<span class="reserved">return</span> false;
|
|
}
|
|
},
|
|
|
|
<span class="comment">/**
|
|
* Attempts to locate an Overlay by instance or ID.
|
|
* <span class="attrib">@param</span> {Overlay} overlay An Overlay to locate within the manager
|
|
* <span class="attrib">@param</span> {string} overlay An Overlay id to locate within the manager
|
|
* <span class="attrib">@return</span> {Overlay} The requested Overlay, if found, or null if it cannot be located.
|
|
*/</span>
|
|
find : <span class="reserved">function</span>(overlay) {
|
|
<span class="reserved">if</span> (overlay instanceof YAHOO.widget.Overlay) {
|
|
<span class="reserved">for</span> (var o=0;o<<span class="reserved">this</span>.overlays.length;o++) {
|
|
<span class="reserved">if</span> (<span class="reserved">this</span>.overlays[o] == overlay) {
|
|
<span class="reserved">return</span> <span class="reserved">this</span>.overlays[o];
|
|
}
|
|
}
|
|
} <span class="reserved">else</span> <span class="reserved">if</span> (typeof overlay == <span class="literal">"string"</span>) {
|
|
<span class="reserved">for</span> (var p=0;p<<span class="reserved">this</span>.overlays.length;p++) {
|
|
<span class="reserved">if</span> (<span class="reserved">this</span>.overlays[p].id == overlay) {
|
|
<span class="reserved">return</span> <span class="reserved">this</span>.overlays[p];
|
|
}
|
|
}
|
|
}
|
|
<span class="reserved">return</span> null;
|
|
},
|
|
|
|
<span class="comment">/**
|
|
* Used for sorting the manager's Overlays by z-index.
|
|
* <span class="attrib">@private</span>
|
|
*/</span>
|
|
compareZIndexDesc : <span class="reserved">function</span>(o1, o2) {
|
|
var zIndex1 = o1.cfg.getProperty(<span class="literal">"zIndex"</span>);
|
|
var zIndex2 = o2.cfg.getProperty(<span class="literal">"zIndex"</span>);
|
|
|
|
<span class="reserved">if</span> (zIndex1 > zIndex2) {
|
|
<span class="reserved">return</span> -1;
|
|
} <span class="reserved">else</span> <span class="reserved">if</span> (zIndex1 < zIndex2) {
|
|
<span class="reserved">return</span> 1;
|
|
} <span class="reserved">else</span> {
|
|
<span class="reserved">return</span> 0;
|
|
}
|
|
},
|
|
|
|
<span class="comment">/**
|
|
* Shows all Overlays in the manager.
|
|
*/</span>
|
|
showAll : <span class="reserved">function</span>() {
|
|
<span class="reserved">for</span> (var o=0;o<<span class="reserved">this</span>.overlays.length;o++) {
|
|
<span class="reserved">this</span>.overlays[o].show();
|
|
}
|
|
},
|
|
|
|
<span class="comment">/**
|
|
* Hides all Overlays in the manager.
|
|
*/</span>
|
|
hideAll : <span class="reserved">function</span>() {
|
|
<span class="reserved">for</span> (var o=0;o<<span class="reserved">this</span>.overlays.length;o++) {
|
|
<span class="reserved">this</span>.overlays[o].hide();
|
|
}
|
|
},
|
|
|
|
<span class="comment">/**
|
|
* Returns a string representation of the object.
|
|
* <span class="attrib">@type</span> string
|
|
*/</span>
|
|
toString : <span class="reserved">function</span>() {
|
|
<span class="reserved">return</span> <span class="literal">"OverlayManager"</span>;
|
|
}
|
|
|
|
};</pre>
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<div id="footer">
|
|
<hr />
|
|
Copyright © 2006 Yahoo! Inc. All rights reserved.
|
|
<br /><br />
|
|
Documentation generated by <a href="http://jsdoc.sourceforge.net/">
|
|
JSDoc</a>
|
|
</div>
|
|
|
|
|
|
|
|
</body>
|
|
</html>
|